acidic_job 1.0.0.beta.6 → 1.0.0.beta.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 15f22e01fee75c9785c6d7ac0ef1f38620cd599bd4f05b372bdda1fa0e6045e5
4
- data.tar.gz: b9cdb3146ed4752b11b5c7aaccfd02f8cb14e37712212796bf14e2a4bdf03ca2
3
+ metadata.gz: 2ffcde3bd4dedc0b59de934bed0cadeaa63f33fb26f36ddf1678d17e0abbec55
4
+ data.tar.gz: 8fe70548a2e2438e59956a41b2373f294150716a2d5e2de7e84993aeb766a523
5
5
  SHA512:
6
- metadata.gz: 72a327e00a6e066160d73ffda31321af66e6c20a8b2e446f30869f7e3245ec4db704812f9ceda6a8fb02be9454eaddf503476ebf6614d453df15b4ca8a656e65
7
- data.tar.gz: 420b38dbb39ba3ed89be0c2b8b5c2305f27f6aea8208ee2dfc689ec729329f676ec43b3cb3ac98481c25985eae13eacc64348900f3389b12f74c56d723143d33
6
+ metadata.gz: fcd0acb3acda0eeaaf499a58c165e376739d808d50f074e35f6236f5b0acdb55b34296b95f86a5edabb19b5c6c3e0e24a04e3408e62322052f43f538bcbc2433
7
+ data.tar.gz: 46e5c1560717f18399afad20f568a69b8ee2c66aff02ba03f54d04f74dc2e749ad3aa5e5f73e470e22cb3a0737ac9f394498db558d4d806f7f453fb501b272f9
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- acidic_job (1.0.0.beta.6)
4
+ acidic_job (1.0.0.beta.7)
5
5
  activejob
6
6
  activerecord
7
7
  activesupport
@@ -19,7 +19,7 @@ module AcidicJob
19
19
  if !@run.known_recovery_point?
20
20
  raise UnknownRecoveryPoint,
21
21
  "Defined workflow does not reference this step: #{@run.current_step_name.inspect}"
22
- elsif !Array(awaited_jobs = @run.current_step_hash.fetch("awaits", [])).compact.empty?
22
+ elsif Array(awaited_jobs = jobs_from(@run.current_step_awaits)).compact.any?
23
23
  # We only execute the current step, without progressing to the next step.
24
24
  # This ensures that any failures in parallel jobs will have this step retried in the main workflow
25
25
  step_result = @workflow.execute_current_step
@@ -47,14 +47,12 @@ module AcidicJob
47
47
 
48
48
  private
49
49
 
50
- def enqueue_awaited_jobs(jobs_or_jobs_getter, step_result)
51
- awaited_jobs = jobs_from(jobs_or_jobs_getter)
52
-
50
+ def enqueue_awaited_jobs(awaited_jobs, step_result)
53
51
  AcidicJob.logger.log_run_event("Enqueuing #{awaited_jobs.count} awaited jobs...", @job, @run)
54
52
  # All jobs created in the block are pushed atomically at the end of the block.
55
53
  AcidicJob::Run.transaction do
56
54
  awaited_jobs.each do |awaited_job|
57
- worker_class, args = job_args_and_kwargs(awaited_job)
55
+ worker_class, args = job_and_args(awaited_job)
58
56
 
59
57
  job = worker_class.new(*args)
60
58
 
@@ -81,7 +79,7 @@ module AcidicJob
81
79
  end
82
80
  end
83
81
 
84
- def job_args_and_kwargs(job)
82
+ def job_and_args(job)
85
83
  case job
86
84
  when Class
87
85
  [job, []]
@@ -173,6 +173,10 @@ module AcidicJob
173
173
  current_step_hash.fetch("then")
174
174
  end
175
175
 
176
+ def current_step_awaits
177
+ current_step_hash.fetch("awaits", []) || []
178
+ end
179
+
176
180
  def next_step_finishes?
177
181
  next_step_name.to_s == FINISHED_RECOVERY_POINT
178
182
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AcidicJob
4
- VERSION = "1.0.0.beta.6"
4
+ VERSION = "1.0.0.beta.7"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acidic_job
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta.6
4
+ version: 1.0.0.beta.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - fractaledmind