MassProspecting / docs

Public documentation, roadmap and issue tracker of MassProspecting
http://doc.massprospecting.com/
0 stars 0 forks source link

Status of enrichment is not being updated from :running to :failed | or if the process is interrumpted #153

Open leandrosardi opened 2 months ago

leandrosardi commented 2 months ago

Problem 1

Any job remains in :running status if the process is interrupted (CTRL+C). It should turn to :failed.

Problem 2

The lead fails when is upserted, because the email is mailformed.

The enrichment failed when try to update its status to :failed because of the same problem: the lead inside doesn't pass the validations.

Here is the log:

2024-07-25 18:09:01:  > Processing row 1... found (Brayden Wujcik, Project Coordinator, Rescom, https://www.rescombuilds.com/, Verified (780)-454-6500)
2024-07-25 18:09:01: done (Verified (780)-454-6500)
2024-07-25 18:09:01: done

2024-07-25 18:09:01: Update the lead... Error: Error calling update endpoint: The email 'Verified' for Lead must be a valid Email.
/home/leandro/code/my.saas/lib/skeletons.rb:103:in `base_update'
/home/leandro/code/my.saas/extensions/mass.subaccount/models/skeleton/lead.rb:218:in `update'
./views/api1.0/update.erb:11:in `__tilt_429540'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/tilt-2.4.0/lib/tilt/template.rb:207:in `bind_call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/tilt-2.4.0/lib/tilt/template.rb:207:in `evaluate'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/tilt-2.4.0/lib/tilt/template.rb:102:in `render'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:863:in `render'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:711:in `erb'
app.rb:613:in `block in <main>'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1697:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1697:in `block in compile!'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1030:in `block (3 levels) in route!'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1049:in `route_eval'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1030:in `block (2 levels) in route!'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1078:in `block in process_route'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1076:in `catch'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1076:in `process_route'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1028:in `block in route!'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1025:in `each'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1025:in `route!'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1147:in `block in dispatch!'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1119:in `block in invoke'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1119:in `catch'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1119:in `invoke'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1142:in `dispatch!'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:956:in `block in call!'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1119:in `block in invoke'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1119:in `catch'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1119:in `invoke'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:956:in `call!'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:945:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/rack-contrib-2.3.0/lib/rack/contrib/try_static.rb:35:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/rack-contrib-2.3.0/lib/rack/contrib/try_static.rb:35:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/rack-contrib-2.3.0/lib/rack/contrib/try_static.rb:35:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/rack-contrib-2.3.0/lib/rack/contrib/try_static.rb:35:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/rack-2.2.9/lib/rack/session/abstract/id.rb:266:in `context'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/rack-2.2.9/lib/rack/session/abstract/id.rb:260:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/rack-2.2.9/lib/rack/logger.rb:17:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/rack-2.2.9/lib/rack/common_logger.rb:38:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:255:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:248:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/rack-2.2.9/lib/rack/head.rb:12:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/rack-2.2.9/lib/rack/method_override.rb:24:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/show_exceptions.rb:22:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:218:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:2004:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1564:in `block in call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1780:in `synchronize'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1564:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/puma-5.6.8/lib/puma/configuration.rb:252:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/puma-5.6.8/lib/puma/request.rb:77:in `block in handle_request'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/puma-5.6.8/lib/puma/thread_pool.rb:340:in `with_force_shutdown'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/puma-5.6.8/lib/puma/request.rb:76:in `handle_request'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/puma-5.6.8/lib/puma/server.rb:443:in `process_client'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/puma-5.6.8/lib/puma/thread_pool.rb:147:in `block in spawn_thread'
/home/leandro/code/my.saas/models/stub/base.rb:102:in `update'
/home/leandro/code/my.saas/models/stub/base.rb:109:in `update'
profile.rb:635:in `block in <main>'
profile.rb:622:in `each'
profile.rb:622:in `<main>'
2024-07-25 18:09:01: Mark enrichment as :failed... done
2024-07-25 18:09:01: Upserting enrichment... Error: Error calling upsert endpoint: The email 'Verified' for Lead must be a valid Email.
/home/leandro/code/my.saas/lib/skeletons.rb:103:in `base_update'
/home/leandro/code/my.saas/extensions/mass.subaccount/models/skeleton/enrichment.rb:211:in `update'
/home/leandro/code/my.saas/lib/skeletons.rb:73:in `upsert'
./views/api1.0/upsert.erb:8:in `__tilt_429540'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/tilt-2.4.0/lib/tilt/template.rb:207:in `bind_call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/tilt-2.4.0/lib/tilt/template.rb:207:in `evaluate'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/tilt-2.4.0/lib/tilt/template.rb:102:in `render'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:863:in `render'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:711:in `erb'
app.rb:617:in `block in <main>'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1697:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1697:in `block in compile!'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1030:in `block (3 levels) in route!'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1049:in `route_eval'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1030:in `block (2 levels) in route!'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1078:in `block in process_route'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1076:in `catch'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1076:in `process_route'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1028:in `block in route!'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1025:in `each'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1025:in `route!'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1147:in `block in dispatch!'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1119:in `block in invoke'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1119:in `catch'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1119:in `invoke'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1142:in `dispatch!'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:956:in `block in call!'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1119:in `block in invoke'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1119:in `catch'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1119:in `invoke'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:956:in `call!'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:945:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/rack-contrib-2.3.0/lib/rack/contrib/try_static.rb:35:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/rack-contrib-2.3.0/lib/rack/contrib/try_static.rb:35:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/rack-contrib-2.3.0/lib/rack/contrib/try_static.rb:35:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/rack-contrib-2.3.0/lib/rack/contrib/try_static.rb:35:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/rack-2.2.9/lib/rack/session/abstract/id.rb:266:in `context'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/rack-2.2.9/lib/rack/session/abstract/id.rb:260:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/rack-2.2.9/lib/rack/logger.rb:17:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/rack-2.2.9/lib/rack/common_logger.rb:38:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:255:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:248:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/rack-2.2.9/lib/rack/head.rb:12:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/rack-2.2.9/lib/rack/method_override.rb:24:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/show_exceptions.rb:22:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:218:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:2004:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1564:in `block in call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1780:in `synchronize'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/sinatra-2.2.4/lib/sinatra/base.rb:1564:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/puma-5.6.8/lib/puma/configuration.rb:252:in `call'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/puma-5.6.8/lib/puma/request.rb:77:in `block in handle_request'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/puma-5.6.8/lib/puma/thread_pool.rb:340:in `with_force_shutdown'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/puma-5.6.8/lib/puma/request.rb:76:in `handle_request'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/puma-5.6.8/lib/puma/server.rb:443:in `process_client'
/home/leandro/.rvm/gems/ruby-3.1.2/gems/puma-5.6.8/lib/puma/thread_pool.rb:147:in `block in spawn_thread'
/home/leandro/code/my.saas/models/stub/base.rb:137:in `upsert'
/home/leandro/code/my.saas/models/stub/base.rb:144:in `upsert'
profile.rb:670:in `block in <main>'
profile.rb:622:in `each'
profile.rb:622:in `<main>'
leandrosardi commented 2 months ago

Solution

This is something that must be handled at the server side.

We can expect the developer of integrations to consider this in his/her code.