job-iteration 1.16.0 → 1.17.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/CHANGELOG.md +6 -0
- data/lib/job-iteration/enumerator_builder.rb +9 -1
- data/lib/job-iteration/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: 657313f73892dc576ba595499f00d97a211936bdbec570db64e72c7431aa0a11
|
|
4
|
+
data.tar.gz: f12f068e6a83efc6fd702e4c5068c8b428587ec2b94eb9087c00e7141f689dee
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: dd60d3982a00af5e2193739c0e9e62adee8e08414628fa19a9f1d6d85f4ad1c5d9cbbd3b5a931b695fccdd50d60a5592a420a04c6eaa446f3b5cbf2e53beadb9
|
|
7
|
+
data.tar.gz: 0e4c271a6a72a11bafcb5bb3fd362f88c2a90ee8b1ddb622c7053c0b0a8eed6b78b2420db0a28d448d7ce12026ad6313d409441567b30acc8e46a46a3243cfdc
|
data/CHANGELOG.md
CHANGED
|
@@ -16,6 +16,12 @@ nil
|
|
|
16
16
|
|
|
17
17
|
nil
|
|
18
18
|
|
|
19
|
+
## v1.17.0 (Oct 27, 2026)
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
- [753](https://github.com/Shopify/job-iteration/pull/753) - Custom enumerator builders can override the protected `default_tolerated_enqueue_errors` hook to set the default parallel child-admission policy. Explicit arrays still replace the default, including `[]` for strict behavior.
|
|
24
|
+
|
|
19
25
|
## v1.16.0 (Oct 20, 2026)
|
|
20
26
|
|
|
21
27
|
### Features
|
|
@@ -233,7 +233,7 @@ module JobIteration
|
|
|
233
233
|
wrap(self, enum)
|
|
234
234
|
end
|
|
235
235
|
|
|
236
|
-
def build_parallel_enumerator(instances:, cursor:, tolerated_enqueue_errors:
|
|
236
|
+
def build_parallel_enumerator(instances:, cursor:, tolerated_enqueue_errors: default_tolerated_enqueue_errors, &block)
|
|
237
237
|
unless instances.is_a?(Integer) && instances.positive?
|
|
238
238
|
raise ArgumentError, "instances must be a positive Integer"
|
|
239
239
|
end
|
|
@@ -266,6 +266,14 @@ module JobIteration
|
|
|
266
266
|
alias_method :nested, :build_nested_enumerator
|
|
267
267
|
alias_method :parallel, :build_parallel_enumerator
|
|
268
268
|
|
|
269
|
+
protected
|
|
270
|
+
|
|
271
|
+
# Override to supply the policy used when tolerated_enqueue_errors is omitted.
|
|
272
|
+
# Explicit arrays replace this default; an empty array keeps enqueue failures strict.
|
|
273
|
+
def default_tolerated_enqueue_errors
|
|
274
|
+
[]
|
|
275
|
+
end
|
|
276
|
+
|
|
269
277
|
private
|
|
270
278
|
|
|
271
279
|
def build_active_record_enumerator(scope, cursor:, instance: nil, instances: nil, **args)
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: job-iteration
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.17.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Shopify
|
|
@@ -78,7 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
78
78
|
- !ruby/object:Gem::Version
|
|
79
79
|
version: '0'
|
|
80
80
|
requirements: []
|
|
81
|
-
rubygems_version: 4.0.
|
|
81
|
+
rubygems_version: 4.0.23
|
|
82
82
|
specification_version: 4
|
|
83
83
|
summary: Makes your background jobs interruptible and resumable.
|
|
84
84
|
test_files: []
|