rcarvalho-workless 1.0.2.11 → 1.0.2.12
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/workless/scalers/base.rb +14 -11
- metadata +2 -2
@@ -9,6 +9,10 @@ module Delayed
|
|
9
9
|
Delayed::Job.all(:conditions => { :failed_at => nil })
|
10
10
|
end
|
11
11
|
|
12
|
+
def self.scale_info= info
|
13
|
+
@@scale_info = info
|
14
|
+
end
|
15
|
+
|
12
16
|
def self.num_workers_cache
|
13
17
|
Rails.cache.read("WORKLESS_NUM_WORKERS") || 0
|
14
18
|
end
|
@@ -18,19 +22,18 @@ module Delayed
|
|
18
22
|
end
|
19
23
|
|
20
24
|
def self.calculate_num_workers
|
21
|
-
num_workers = self.workers
|
22
25
|
if num_workers.class == Fixnum
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
return 1 unless num_workers > 0
|
32
|
-
else
|
26
|
+
@@scale_info ||= {
|
27
|
+
0 => 1,
|
28
|
+
100 => 2,
|
29
|
+
500 => 3,
|
30
|
+
1000 => 4
|
31
|
+
}
|
32
|
+
scale_key = @@scale_info.keys.reverse.select{|v| v < num_workers }.first
|
33
|
+
if scale_key.nil?
|
33
34
|
return 0
|
35
|
+
else
|
36
|
+
return @@scale_info[scale_key]
|
34
37
|
end
|
35
38
|
end
|
36
39
|
end
|