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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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