zuora_connect 1.5.32 → 1.5.33

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
  SHA1:
3
- metadata.gz: 616c086c694841b9daf5d37a6183caef1a19dcc3
4
- data.tar.gz: 1d1c561faa6707b7a33d8f19707a34c4b95493b5
3
+ metadata.gz: ec63ae977ac8d50176a476a4fba1fbfcfde76a4a
4
+ data.tar.gz: 68b56318ebac9ea729bc1815b16a404aa72d9e82
5
5
  SHA512:
6
- metadata.gz: 71415ba2c52c037051fb5f2beec09ed22f9f88283769222e8ca5b43dd9fe77333f83e57cdb74663d2549b86146e7940d65896932969c379663b031ad6deb651d
7
- data.tar.gz: 529ca7bf5106cc79759c2ef1c2488257c54348c994bf949dbadabd3ea0f3bded5aff30adb0e3990f3c40f2c8e69435cb3bcd93f0c39d7ceb9819dff6d2724e8c
6
+ metadata.gz: 746cad8f7f8dee1097bdc1de0dec4328d42e68e75f14896c8a728130a3fa992bfffa4d9f8261f74ec4caf47f898301aa53f16a5bfb8660d0ccbe48eddaf02e6e
7
+ data.tar.gz: 01fa812637ec9ff3d69d270636486fa4c9462d8a23e9fe595375c9c6471748b97ea995720c729bdc94c82fb75b32fca4dc3b6b6aeaa3cf8b9dc6b9c1f4e29771
@@ -38,18 +38,29 @@ module Resque
38
38
  end
39
39
 
40
40
  def reserve_with_round_robin
41
- qs = rotated_queues
42
- qs.each do |queue|
43
- log! "Checking #{queue}"
44
- if should_work_on_queue?(queue) && @job_in_progress = Resque::Job.reserve(queue)
45
- log! "Found job on #{queue}"
46
- return @job_in_progress
47
- end
48
- # Start the next search at the queue after the one from which we pick a job.
41
+ grouped_queues = queues.sort.group_by{|u| /(\d{1,20})_.*/.match(u) ? /(\d{1,20})_.*/.match(u).captures.first : nil}
42
+
43
+ #Instance queue grouping
44
+ if !grouped_queues.keys.include?(nil) && grouped_queues.keys.size > 0
45
+ @n ||= 0
49
46
  @n += 1
47
+ @n = @n % grouped_queues.keys.size
48
+
49
+ grouped_queues.keys.rotate(@n).each do |key|
50
+ grouped_queues[key].each do |queue|
51
+ log! "Checking #{queue}"
52
+ if should_work_on_queue?(queue) && @job_in_progress = Resque::Job.reserve(queue)
53
+ log! "Found job on #{queue}"
54
+ return @job_in_progress
55
+ end
56
+ end
57
+ @n += 1 # Start the next search at the queue after the one from which we pick a job.
58
+ end
59
+ nil
60
+ else
61
+ return reserve_without_round_robin
50
62
  end
51
-
52
- nil
63
+
53
64
  rescue Exception => e
54
65
  log "Error reserving job: #{e.inspect}"
55
66
  log e.backtrace.join("\n")
@@ -79,7 +90,7 @@ module Resque
79
90
 
80
91
  #Remove Queues under Api Limits
81
92
  api_limit_instances = Redis.current.keys('APILimits:*').map {|key| key.split('APILimits:').last.to_i}
82
- real_queues = real_queues.select {|key| key if !api_limit_instances.include?((key.match(/^(\d*)_.*/) || [])[1].to_i)}
93
+ real_queues = real_queues.select {|key| key if !api_limit_instances.include?((key.match(/^(\d*)_.*/) || [])[1].to_i)} ## 2
83
94
 
84
95
  #Queue Pausing
85
96
  paused_instances = Redis.current.keys('resque:PauseQueue:*').map {|key| key.split('resque:PauseQueue:').last.to_i}
@@ -1,3 +1,3 @@
1
1
  module ZuoraConnect
2
- VERSION = "1.5.32"
2
+ VERSION = "1.5.33"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zuora_connect
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.32
4
+ version: 1.5.33
5
5
  platform: ruby
6
6
  authors:
7
7
  - Connect Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-01 00:00:00.000000000 Z
11
+ date: 2018-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: apartment