Class: Startback::Jobs::RunJob
- Defined in:
- lib/startback/jobs/operation/run_job.rb
Instance Method Summary collapse
- #call ⇒ Object
- #error_to_result(err) ⇒ Object
-
#initialize(input) ⇒ RunJob
constructor
A new instance of RunJob.
Constructor Details
#initialize(input) ⇒ RunJob
Returns a new instance of RunJob.
5 6 7 |
# File 'lib/startback/jobs/operation/run_job.rb', line 5 def initialize(input) super(System['Job.Ref'].dress(input)) end |
Instance Method Details
#call ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/startback/jobs/operation/run_job.rb', line 9 def call services = context.factor(Services) @job = services.get_job!(input) job_context = context.fork(@job.op_context) job_class = ::Kernel.const_get(@job.op_class) job_input = @job.op_input has_failed, op_result = with_context(job_context) do op_result = run job_class.new(job_input) [false, op_result] rescue => err [true, error_to_result(err) ] end services.update_job!(input, { opResult: op_result, hasFailed: has_failed, isReady: true, strategy: 'Embedded', }) op_result end |
#error_to_result(err) ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/startback/jobs/operation/run_job.rb', line 34 def error_to_result(err) { errClass: err.class.name.to_s, message: err., backtrace: err.backtrace } end |