activejob-temporal 0.1.0 → 0.3.0
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/AGENTS.md +1 -0
- data/CHANGELOG.md +29 -0
- data/CLAUDE.md +274 -0
- data/CONTRIBUTING.md +69 -0
- data/README.md +34 -33
- data/activejob-temporal.gemspec +9 -13
- data/api/job_payload_schema.json +51 -6
- data/bin/temporal-worker +25 -17
- data/gemfiles/activejob_contract.gemfile +8 -0
- data/gemfiles/temporalio_contract.gemfile +7 -0
- data/lib/activejob/temporal/activities/aj_runner_activity.rb +75 -19
- data/lib/activejob/temporal/activities/dependency_status_activity.rb +36 -19
- data/lib/activejob/temporal/adapter.rb +4 -3
- data/lib/activejob/temporal/batch_enqueuer.rb +42 -33
- data/lib/activejob/temporal/bind_policy.rb +1 -1
- data/lib/activejob/temporal/cancel.rb +66 -29
- data/lib/activejob/temporal/certificate_watcher.rb +41 -6
- data/lib/activejob/temporal/client.rb +24 -6
- data/lib/activejob/temporal/conditional_enqueue.rb +2 -1
- data/lib/activejob/temporal/configurable.rb +56 -13
- data/lib/activejob/temporal/configuration.rb +218 -7
- data/lib/activejob/temporal/configured_job_compatibility.rb +91 -9
- data/lib/activejob/temporal/connection_worker_pool.rb +18 -1
- data/lib/activejob/temporal/dead_letter_queue.rb +64 -18
- data/lib/activejob/temporal/dependency_options.rb +126 -16
- data/lib/activejob/temporal/health_check_server.rb +14 -17
- data/lib/activejob/temporal/http_line_reader.rb +20 -2
- data/lib/activejob/temporal/http_request_failure_handling.rb +41 -0
- data/lib/activejob/temporal/inspect.rb +17 -7
- data/lib/activejob/temporal/job_id_validation.rb +41 -0
- data/lib/activejob/temporal/job_payload_dependencies.rb +23 -0
- data/lib/activejob/temporal/locales/en.yml +30 -3
- data/lib/activejob/temporal/metrics_server.rb +15 -18
- data/lib/activejob/temporal/middleware/chain.rb +7 -0
- data/lib/activejob/temporal/observability.rb +14 -2
- data/lib/activejob/temporal/payload.rb +64 -25
- data/lib/activejob/temporal/payload_encryption.rb +9 -1
- data/lib/activejob/temporal/payload_serializers.rb +3 -0
- data/lib/activejob/temporal/payload_storage.rb +4 -4
- data/lib/activejob/temporal/rails_environment_loader.rb +1 -8
- data/lib/activejob/temporal/reload_signal_queue.rb +19 -19
- data/lib/activejob/temporal/retry_handler_extractor.rb +18 -3
- data/lib/activejob/temporal/schedulable.rb +5 -7
- data/lib/activejob/temporal/schedule.rb +2 -2
- data/lib/activejob/temporal/signal_query.rb +35 -23
- data/lib/activejob/temporal/temporal_options.rb +26 -1
- data/lib/activejob/temporal/tls_file.rb +16 -16
- data/lib/activejob/temporal/transaction_safety.rb +102 -1
- data/lib/activejob/temporal/version.rb +1 -1
- data/lib/activejob/temporal/visibility_query.rb +16 -1
- data/lib/activejob/temporal/worker_pool.rb +13 -0
- data/lib/activejob/temporal/worker_registrations.rb +66 -0
- data/lib/activejob/temporal/worker_runtime.rb +17 -0
- data/lib/activejob/temporal/workflow_enqueuer.rb +2 -1
- data/lib/activejob/temporal/workflow_types.rb +10 -0
- data/lib/activejob/temporal/workflows/aj_workflow.rb +17 -4
- data/lib/activejob/temporal/workflows/workflow_dependencies.rb +148 -15
- data/lib/activejob/temporal.rb +21 -13
- data/test/mutant_unit_test.rb +13 -0
- metadata +46 -50
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: activejob-temporal
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Temporal Technologies
|
|
@@ -16,7 +16,7 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '7.2'
|
|
20
20
|
- - "<"
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
22
|
version: '9'
|
|
@@ -26,7 +26,7 @@ dependencies:
|
|
|
26
26
|
requirements:
|
|
27
27
|
- - ">="
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: '
|
|
29
|
+
version: '7.2'
|
|
30
30
|
- - "<"
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
32
|
version: '9'
|
|
@@ -36,7 +36,7 @@ dependencies:
|
|
|
36
36
|
requirements:
|
|
37
37
|
- - ">="
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: '
|
|
39
|
+
version: '7.2'
|
|
40
40
|
- - "<"
|
|
41
41
|
- !ruby/object:Gem::Version
|
|
42
42
|
version: '9'
|
|
@@ -46,7 +46,7 @@ dependencies:
|
|
|
46
46
|
requirements:
|
|
47
47
|
- - ">="
|
|
48
48
|
- !ruby/object:Gem::Version
|
|
49
|
-
version: '
|
|
49
|
+
version: '7.2'
|
|
50
50
|
- - "<"
|
|
51
51
|
- !ruby/object:Gem::Version
|
|
52
52
|
version: '9'
|
|
@@ -78,20 +78,6 @@ dependencies:
|
|
|
78
78
|
- - ">="
|
|
79
79
|
- !ruby/object:Gem::Version
|
|
80
80
|
version: '0.3'
|
|
81
|
-
- !ruby/object:Gem::Dependency
|
|
82
|
-
name: listen
|
|
83
|
-
requirement: !ruby/object:Gem::Requirement
|
|
84
|
-
requirements:
|
|
85
|
-
- - "~>"
|
|
86
|
-
- !ruby/object:Gem::Version
|
|
87
|
-
version: '3.9'
|
|
88
|
-
type: :runtime
|
|
89
|
-
prerelease: false
|
|
90
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
91
|
-
requirements:
|
|
92
|
-
- - "~>"
|
|
93
|
-
- !ruby/object:Gem::Version
|
|
94
|
-
version: '3.9'
|
|
95
81
|
- !ruby/object:Gem::Dependency
|
|
96
82
|
name: temporalio
|
|
97
83
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -101,7 +87,7 @@ dependencies:
|
|
|
101
87
|
version: 1.4.0
|
|
102
88
|
- - "<"
|
|
103
89
|
- !ruby/object:Gem::Version
|
|
104
|
-
version: '1.
|
|
90
|
+
version: '1.7'
|
|
105
91
|
type: :runtime
|
|
106
92
|
prerelease: false
|
|
107
93
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -111,7 +97,7 @@ dependencies:
|
|
|
111
97
|
version: 1.4.0
|
|
112
98
|
- - "<"
|
|
113
99
|
- !ruby/object:Gem::Version
|
|
114
|
-
version: '1.
|
|
100
|
+
version: '1.7'
|
|
115
101
|
- !ruby/object:Gem::Dependency
|
|
116
102
|
name: benchmark-ips
|
|
117
103
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -127,33 +113,53 @@ dependencies:
|
|
|
127
113
|
- !ruby/object:Gem::Version
|
|
128
114
|
version: '2.14'
|
|
129
115
|
- !ruby/object:Gem::Dependency
|
|
130
|
-
name:
|
|
116
|
+
name: github_changelog_generator
|
|
131
117
|
requirement: !ruby/object:Gem::Requirement
|
|
132
118
|
requirements:
|
|
133
119
|
- - "~>"
|
|
134
120
|
- !ruby/object:Gem::Version
|
|
135
|
-
version: '
|
|
121
|
+
version: '1.18'
|
|
136
122
|
type: :development
|
|
137
123
|
prerelease: false
|
|
138
124
|
version_requirements: !ruby/object:Gem::Requirement
|
|
139
125
|
requirements:
|
|
140
126
|
- - "~>"
|
|
141
127
|
- !ruby/object:Gem::Version
|
|
142
|
-
version: '
|
|
128
|
+
version: '1.18'
|
|
143
129
|
- !ruby/object:Gem::Dependency
|
|
144
|
-
name:
|
|
130
|
+
name: listen
|
|
145
131
|
requirement: !ruby/object:Gem::Requirement
|
|
146
132
|
requirements:
|
|
147
133
|
- - "~>"
|
|
148
134
|
- !ruby/object:Gem::Version
|
|
149
|
-
version: '
|
|
135
|
+
version: '3.9'
|
|
150
136
|
type: :development
|
|
151
137
|
prerelease: false
|
|
152
138
|
version_requirements: !ruby/object:Gem::Requirement
|
|
153
139
|
requirements:
|
|
154
140
|
- - "~>"
|
|
155
141
|
- !ruby/object:Gem::Version
|
|
156
|
-
version: '
|
|
142
|
+
version: '3.9'
|
|
143
|
+
- !ruby/object:Gem::Dependency
|
|
144
|
+
name: minitest
|
|
145
|
+
requirement: !ruby/object:Gem::Requirement
|
|
146
|
+
requirements:
|
|
147
|
+
- - ">="
|
|
148
|
+
- !ruby/object:Gem::Version
|
|
149
|
+
version: '5.11'
|
|
150
|
+
- - "<"
|
|
151
|
+
- !ruby/object:Gem::Version
|
|
152
|
+
version: '7'
|
|
153
|
+
type: :development
|
|
154
|
+
prerelease: false
|
|
155
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
156
|
+
requirements:
|
|
157
|
+
- - ">="
|
|
158
|
+
- !ruby/object:Gem::Version
|
|
159
|
+
version: '5.11'
|
|
160
|
+
- - "<"
|
|
161
|
+
- !ruby/object:Gem::Version
|
|
162
|
+
version: '7'
|
|
157
163
|
- !ruby/object:Gem::Dependency
|
|
158
164
|
name: msgpack
|
|
159
165
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -169,7 +175,7 @@ dependencies:
|
|
|
169
175
|
- !ruby/object:Gem::Version
|
|
170
176
|
version: '1.8'
|
|
171
177
|
- !ruby/object:Gem::Dependency
|
|
172
|
-
name: mutant-
|
|
178
|
+
name: mutant-minitest
|
|
173
179
|
requirement: !ruby/object:Gem::Requirement
|
|
174
180
|
requirements:
|
|
175
181
|
- - "~>"
|
|
@@ -210,20 +216,6 @@ dependencies:
|
|
|
210
216
|
- - "~>"
|
|
211
217
|
- !ruby/object:Gem::Version
|
|
212
218
|
version: '13.2'
|
|
213
|
-
- !ruby/object:Gem::Dependency
|
|
214
|
-
name: rspec
|
|
215
|
-
requirement: !ruby/object:Gem::Requirement
|
|
216
|
-
requirements:
|
|
217
|
-
- - "~>"
|
|
218
|
-
- !ruby/object:Gem::Version
|
|
219
|
-
version: '3.12'
|
|
220
|
-
type: :development
|
|
221
|
-
prerelease: false
|
|
222
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
223
|
-
requirements:
|
|
224
|
-
- - "~>"
|
|
225
|
-
- !ruby/object:Gem::Version
|
|
226
|
-
version: '3.12'
|
|
227
219
|
- !ruby/object:Gem::Dependency
|
|
228
220
|
name: rubocop
|
|
229
221
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -273,9 +265,6 @@ dependencies:
|
|
|
273
265
|
- - "~>"
|
|
274
266
|
- !ruby/object:Gem::Version
|
|
275
267
|
version: '0.9'
|
|
276
|
-
- - ">="
|
|
277
|
-
- !ruby/object:Gem::Version
|
|
278
|
-
version: 0.9.42
|
|
279
268
|
type: :development
|
|
280
269
|
prerelease: false
|
|
281
270
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -283,9 +272,6 @@ dependencies:
|
|
|
283
272
|
- - "~>"
|
|
284
273
|
- !ruby/object:Gem::Version
|
|
285
274
|
version: '0.9'
|
|
286
|
-
- - ">="
|
|
287
|
-
- !ruby/object:Gem::Version
|
|
288
|
-
version: 0.9.42
|
|
289
275
|
description: |
|
|
290
276
|
activejob-temporal bridges Rails ActiveJob with Temporal's durable execution engine.
|
|
291
277
|
It provides a drop-in ActiveJob adapter, Temporal workflows, and supporting tooling
|
|
@@ -297,12 +283,17 @@ executables:
|
|
|
297
283
|
extensions: []
|
|
298
284
|
extra_rdoc_files: []
|
|
299
285
|
files:
|
|
286
|
+
- AGENTS.md
|
|
300
287
|
- CHANGELOG.md
|
|
288
|
+
- CLAUDE.md
|
|
289
|
+
- CONTRIBUTING.md
|
|
301
290
|
- LICENSE
|
|
302
291
|
- README.md
|
|
303
292
|
- activejob-temporal.gemspec
|
|
304
293
|
- api/job_payload_schema.json
|
|
305
294
|
- bin/temporal-worker
|
|
295
|
+
- gemfiles/activejob_contract.gemfile
|
|
296
|
+
- gemfiles/temporalio_contract.gemfile
|
|
306
297
|
- lib/activejob-temporal.rb
|
|
307
298
|
- lib/activejob/temporal.rb
|
|
308
299
|
- lib/activejob/temporal/active_job_handler_source.rb
|
|
@@ -333,8 +324,10 @@ files:
|
|
|
333
324
|
- lib/activejob/temporal/external_operation.rb
|
|
334
325
|
- lib/activejob/temporal/health_check_server.rb
|
|
335
326
|
- lib/activejob/temporal/http_line_reader.rb
|
|
327
|
+
- lib/activejob/temporal/http_request_failure_handling.rb
|
|
336
328
|
- lib/activejob/temporal/inspect.rb
|
|
337
329
|
- lib/activejob/temporal/job_descriptor.rb
|
|
330
|
+
- lib/activejob/temporal/job_id_validation.rb
|
|
338
331
|
- lib/activejob/temporal/job_payload_builder.rb
|
|
339
332
|
- lib/activejob/temporal/job_payload_chain_builder.rb
|
|
340
333
|
- lib/activejob/temporal/job_payload_child_workflows.rb
|
|
@@ -378,10 +371,13 @@ files:
|
|
|
378
371
|
- lib/activejob/temporal/worker_client_reloader.rb
|
|
379
372
|
- lib/activejob/temporal/worker_health.rb
|
|
380
373
|
- lib/activejob/temporal/worker_pool.rb
|
|
374
|
+
- lib/activejob/temporal/worker_registrations.rb
|
|
375
|
+
- lib/activejob/temporal/worker_runtime.rb
|
|
381
376
|
- lib/activejob/temporal/workflow_enqueuer.rb
|
|
382
377
|
- lib/activejob/temporal/workflow_enqueuer_batch.rb
|
|
383
378
|
- lib/activejob/temporal/workflow_id_builder.rb
|
|
384
379
|
- lib/activejob/temporal/workflow_identity.rb
|
|
380
|
+
- lib/activejob/temporal/workflow_types.rb
|
|
385
381
|
- lib/activejob/temporal/workflows/aj_workflow.rb
|
|
386
382
|
- lib/activejob/temporal/workflows/dead_letter_support.rb
|
|
387
383
|
- lib/activejob/temporal/workflows/dead_letter_workflow.rb
|
|
@@ -394,13 +390,13 @@ files:
|
|
|
394
390
|
- lib/activejob/temporal/workflows/workflow_local_activities.rb
|
|
395
391
|
- lib/activejob/temporal/workflows/workflow_nexus.rb
|
|
396
392
|
- lib/activejob/temporal/workflows/workflow_versioning.rb
|
|
393
|
+
- test/mutant_unit_test.rb
|
|
397
394
|
homepage: https://github.com/schovi/activejob-temporal
|
|
398
395
|
licenses:
|
|
399
396
|
- MIT
|
|
400
397
|
metadata:
|
|
401
398
|
homepage_uri: https://github.com/schovi/activejob-temporal
|
|
402
|
-
source_code_uri: https://github.com/schovi/activejob-temporal
|
|
403
|
-
documentation_uri: https://github.com/schovi/activejob-temporal/blob/main/docs/README.md
|
|
399
|
+
source_code_uri: https://github.com/schovi/activejob-temporal
|
|
404
400
|
changelog_uri: https://github.com/schovi/activejob-temporal/blob/main/CHANGELOG.md
|
|
405
401
|
rubygems_mfa_required: 'true'
|
|
406
402
|
rdoc_options: []
|