zuora_connect 1.7.32 → 1.7.33
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/lib/resque/dynamic_queues.rb +24 -6
- data/lib/zuora_connect/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2f654b5c863ebf96eb976039e87ffb65a17308e0
|
4
|
+
data.tar.gz: fa630ad385d7876d468aaa63695829f77e10e61d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: abb8e9351ec64a2ee3ef7ba8c3e6cb28d08a345594eac30ab6f3941d23f19bc77a771f7471120e468f36872596f3e98ef7407af633b3d2fe383a869540b2f0f3
|
7
|
+
data.tar.gz: 2bcf6376f63b0fa8fcf4592ab1c3204dfefd60b0b219d27bac2a2411b11bec30f2a8ad7999c227f78d1826fa74e0960c81d3f4c40fecae6eba3535419968b156
|
@@ -23,6 +23,18 @@ module Resque
|
|
23
23
|
busy_queues.select {|q| q == queuename }.size
|
24
24
|
end
|
25
25
|
|
26
|
+
def get_categorized_queues(queues)
|
27
|
+
priority_map = {"Synchronous" => 0, "High" => 1, "Medium" => 2, "Low" => 3}
|
28
|
+
categorized_queues = {}
|
29
|
+
for queue in queues.uniq
|
30
|
+
priority = queue.split("_")[1]
|
31
|
+
priority = "Medium" if !["Synchronous", "High", "Medium", "Low"].include?(priority)
|
32
|
+
categorized_queues[priority] ||= []
|
33
|
+
categorized_queues[priority].push(queue)
|
34
|
+
end
|
35
|
+
return categorized_queues.transform_keys{ |key| priority_map[key.to_s]}
|
36
|
+
end
|
37
|
+
|
26
38
|
DEFAULT_QUEUE_DEPTH = 0
|
27
39
|
def should_work_on_queue? queuename
|
28
40
|
return true if @queues.include? '*' # workers with QUEUES=* are special and are not subject to queue depth setting
|
@@ -37,6 +49,10 @@ module Resque
|
|
37
49
|
false
|
38
50
|
end
|
39
51
|
|
52
|
+
def get_grouped_queues(queues)
|
53
|
+
queues.sort.group_by{|u| /(\d{1,20})_.*/.match(u) ? /(\d{1,20})_.*/.match(u).captures.first : nil}
|
54
|
+
end
|
55
|
+
|
40
56
|
def reserve_with_round_robin
|
41
57
|
grouped_queues = queues.sort.group_by{|u| /(\d{1,20})_.*/.match(u) ? /(\d{1,20})_.*/.match(u).captures.first : nil}
|
42
58
|
|
@@ -45,13 +61,15 @@ module Resque
|
|
45
61
|
@n ||= 0
|
46
62
|
@n += 1
|
47
63
|
@n = @n % grouped_queues.keys.size
|
48
|
-
|
49
64
|
grouped_queues.keys.rotate(@n).each do |key|
|
50
|
-
grouped_queues[key]
|
51
|
-
|
52
|
-
|
53
|
-
log! "
|
54
|
-
|
65
|
+
categorized_queues = get_categorized_queues(grouped_queues[key])
|
66
|
+
for key in categorized_queues.keys.sort
|
67
|
+
categorized_queues[key].each do |queue|
|
68
|
+
log! "Checking #{queue}"
|
69
|
+
if should_work_on_queue?(queue) && @job_in_progress = Resque::Job.reserve(queue)
|
70
|
+
log! "Found job on #{queue}"
|
71
|
+
return @job_in_progress
|
72
|
+
end
|
55
73
|
end
|
56
74
|
end
|
57
75
|
@n += 1 # Start the next search at the queue after the one from which we pick a job.
|
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.7.
|
4
|
+
version: 1.7.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-12-
|
11
|
+
date: 2018-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: apartment
|