acidic_job 1.0.0.beta.4 → 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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/acidic_job/errors.rb +1 -0
- data/lib/acidic_job/mixin.rb +2 -5
- data/lib/acidic_job/processor.rb +5 -7
- data/lib/acidic_job/run.rb +4 -0
- data/lib/acidic_job/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2ffcde3bd4dedc0b59de934bed0cadeaa63f33fb26f36ddf1678d17e0abbec55
|
4
|
+
data.tar.gz: 8fe70548a2e2438e59956a41b2373f294150716a2d5e2de7e84993aeb766a523
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fcd0acb3acda0eeaaf499a58c165e376739d808d50f074e35f6236f5b0acdb55b34296b95f86a5edabb19b5c6c3e0e24a04e3408e62322052f43f538bcbc2433
|
7
|
+
data.tar.gz: 46e5c1560717f18399afad20f568a69b8ee2c66aff02ba03f54d04f74dc2e749ad3aa5e5f73e470e22cb3a0737ac9f394498db558d4d806f7f453fb501b272f9
|
data/Gemfile.lock
CHANGED
data/lib/acidic_job/errors.rb
CHANGED
data/lib/acidic_job/mixin.rb
CHANGED
@@ -81,12 +81,9 @@ module AcidicJob
|
|
81
81
|
@workflow_builder = WorkflowBuilder.new
|
82
82
|
|
83
83
|
raise MissingWorkflowBlock, "A block must be passed to `with_acidic_workflow`" unless block_given?
|
84
|
+
raise MissingBlockArgument, "An argument must be passed to the `with_acidic_workflow` block" if block.arity.zero?
|
84
85
|
|
85
|
-
|
86
|
-
@workflow_builder.instance_exec(&block)
|
87
|
-
else
|
88
|
-
yield @workflow_builder
|
89
|
-
end
|
86
|
+
block.call @workflow_builder
|
90
87
|
|
91
88
|
raise NoDefinedSteps if @workflow_builder.steps.empty?
|
92
89
|
|
data/lib/acidic_job/processor.rb
CHANGED
@@ -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
|
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(
|
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 =
|
55
|
+
worker_class, args = job_and_args(awaited_job)
|
58
56
|
|
59
57
|
job = worker_class.new(*args)
|
60
58
|
|
@@ -69,7 +67,7 @@ module AcidicJob
|
|
69
67
|
when Array
|
70
68
|
jobs_or_jobs_getter
|
71
69
|
when Symbol, String
|
72
|
-
if @job.respond_to?(jobs_or_jobs_getter)
|
70
|
+
if @job.respond_to?(jobs_or_jobs_getter, _include_private = true)
|
73
71
|
@job.method(jobs_or_jobs_getter).call
|
74
72
|
else
|
75
73
|
raise UnknownAwaitedJob,
|
@@ -81,7 +79,7 @@ module AcidicJob
|
|
81
79
|
end
|
82
80
|
end
|
83
81
|
|
84
|
-
def
|
82
|
+
def job_and_args(job)
|
85
83
|
case job
|
86
84
|
when Class
|
87
85
|
[job, []]
|
data/lib/acidic_job/run.rb
CHANGED
data/lib/acidic_job/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acidic_job
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.beta.
|
4
|
+
version: 1.0.0.beta.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- fractaledmind
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-08-
|
11
|
+
date: 2022-08-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activejob
|