sidekiq-clutch 1.1.0 → 2.0.0

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: 34898643a173edd20ec4a28e2a2f01f15c05d9e074d67a72e9f06a56580f2367
4
- data.tar.gz: 4e39b5cd8a173520db812680c647ba8708f547614986bb8ad13be5d872377117
3
+ metadata.gz: 3c1c011474bce5ee85157d392601fea64a7e173c3bd3dd90d976a6909f6c3217
4
+ data.tar.gz: d5ee4da83925370f370c9bcffbf5e5d7543b6534b6458ce8b1af7a5c38df679e
5
5
  SHA512:
6
- metadata.gz: fcfd9af62fc2a84546862f12813ffed617eaeee69b10f0136529a70d4307bfb85616b1629223d50e909c967d98462dcf4b04ec0492c56f3dd5fd5ce43bda2946
7
- data.tar.gz: 699d22544e893ea1130e0bd4967888781d2ee1856b7a918a919eff639b4dcd40cade5651840ab22b95f9b43a27262078d37b30e32b0ff6aea3a06203d378e897
6
+ metadata.gz: 6e5f4c4629928d3b6089e64f158a2b2a3aa2b1d28c1ec81db522d6bf42865426c964a6f1b721c50d0af04222d644c99305a1b0a5049824a16cd5d0b5a5e911cd
7
+ data.tar.gz: fe33f33a75b67511c4a759dec8fb3977547e21885d55293ca2bf56a4bc241679bded581dfdc78a7f3ffaacd963814b8f580b97296853098f7966eb8dc82e1b01
@@ -1,3 +1,7 @@
1
+ # 2.0.0 - Feb 5, 2020
2
+
3
+ * BREAKING: Treat each parallel block as a distinct step
4
+
1
5
  # 1.1.0 - Feb 5, 2020
2
6
 
3
7
  * FEAT: use Sidekiq's wrapped option for improved logging
@@ -10,18 +10,18 @@ module Sidekiq
10
10
  @batch = batch || Sidekiq::Batch.new
11
11
  end
12
12
 
13
- attr_reader :batch, :queue
13
+ attr_reader :batch, :queue, :parallel_key
14
14
 
15
15
  attr_accessor :current_result_key, :on_failure
16
16
 
17
17
  def parallel
18
- @parallel = true
18
+ @parallel_key = SecureRandom.uuid
19
19
  yield
20
- @parallel = false
20
+ @parallel_key = nil
21
21
  end
22
22
 
23
23
  def parallel?
24
- @parallel == true
24
+ !!@parallel_key
25
25
  end
26
26
 
27
27
  def jobs
@@ -22,7 +22,7 @@ module Sidekiq
22
22
 
23
23
  def <<((klass, *params))
24
24
  if @service.parallel?
25
- @jobs << { 'parallel' => [], 'result_key' => next_result_key } unless @jobs.last && @jobs.last['parallel']
25
+ @jobs << new_parallel_step unless continue_existing_parallel_step?
26
26
  @jobs.last['parallel'] << [klass.name, params]
27
27
  else
28
28
  @jobs << { 'series' => [klass.name, params], 'result_key' => next_result_key }
@@ -33,6 +33,16 @@ module Sidekiq
33
33
  @result_key_index += 1
34
34
  "#{@result_key_prefix}-#{@result_key_index}"
35
35
  end
36
+
37
+ private
38
+
39
+ def new_parallel_step
40
+ { 'parallel' => [], 'result_key' => next_result_key, 'parallel_key' => @service.parallel_key }
41
+ end
42
+
43
+ def continue_existing_parallel_step?
44
+ @jobs.last && @jobs.last['parallel_key'] == @service.parallel_key
45
+ end
36
46
  end
37
47
  end
38
48
  end
@@ -1,5 +1,5 @@
1
1
  module Sidekiq
2
2
  class Clutch
3
- VERSION = "1.1.0"
3
+ VERSION = "2.0.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq-clutch
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Morgan