Method: Que::JobMethods#_run
- Defined in:
- lib/que/job_methods.rb
#_run(args: nil, kwargs: nil, reraise_errors: false) ⇒ Object
Run the job with error handling and cleanup logic. Optionally support overriding the args, because it’s necessary when jobs are invoked from ActiveJob.
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/que/job_methods.rb', line 42 def _run(args: nil, kwargs: nil, reraise_errors: false) if args.nil? && que_target args = que_target.que_attrs.fetch(:args) end if kwargs.nil? && que_target kwargs = que_target.que_attrs.fetch(:kwargs) end run(*args, **kwargs) default_resolve_action if que_target && !que_target.que_resolved rescue => error raise error unless que_target que_target.que_error = error run_error_notifier = begin handle_error(error) rescue => error_2 Que.notify_error(error_2, que_target.que_attrs) true end Que.notify_error(error, que_target.que_attrs) if run_error_notifier retry_in_default_interval unless que_target.que_resolved raise error if reraise_errors end |