workerholic 0.0.20 → 0.0.21
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/app_test/run.rb +3 -3
- data/lib/workerholic.rb +10 -1
- data/lib/workerholic/cli.rb +13 -2
- data/lib/workerholic/starter.rb +1 -0
- data/lib/workerholic/version.rb +1 -1
- data/lib/workerholic/worker_balancer.rb +10 -2
- 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: 2c83d9577835bf37fe458f1eec211b3b3290beef
|
4
|
+
data.tar.gz: 2cb91be6cad32404d1652a0912075c472c420815
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a6876d6abb09a6fc454233dcadcac636f8153f451300c9645be508018defa9b28384cff95abd2b6127c9d5a48d7da777832eedd9bb8e85da4fc9a38e59c830b0
|
7
|
+
data.tar.gz: ddf1db604ee58382c66a6221c56b49d853feac73aff35214e911e7526b2d1d5a72176ca2a2992acd80056fb730639aaa2eafeef53d846c5bee20a74915135fd3
|
data/app_test/run.rb
CHANGED
data/lib/workerholic.rb
CHANGED
@@ -42,8 +42,17 @@ module Workerholic
|
|
42
42
|
@workers_count = num
|
43
43
|
end
|
44
44
|
|
45
|
+
def self.redis_connections_count
|
46
|
+
@redis_connections_count || (workers_count + 5)
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.redis_connections_count=(num)
|
50
|
+
raise ArgumentError unless num.is_a?(Integer) && num < 200
|
51
|
+
@redis_connections_count = num
|
52
|
+
end
|
53
|
+
|
45
54
|
def self.redis_pool
|
46
|
-
@redis ||= ConnectionPool.new(size:
|
55
|
+
@redis ||= ConnectionPool.new(size: redis_connections_count, timeout: 5) do
|
47
56
|
Redis.new(url: REDIS_URL)
|
48
57
|
end
|
49
58
|
end
|
data/lib/workerholic/cli.rb
CHANGED
@@ -37,7 +37,7 @@ module Workerholic
|
|
37
37
|
count = count.to_i
|
38
38
|
|
39
39
|
if count < 1
|
40
|
-
logger.error('Invalid number of workers. Please specify a valid number
|
40
|
+
logger.error('Invalid number of workers. Please specify a valid number.')
|
41
41
|
exit
|
42
42
|
else
|
43
43
|
options[:workers] = count.to_i
|
@@ -57,12 +57,23 @@ module Workerholic
|
|
57
57
|
count = count.to_i
|
58
58
|
|
59
59
|
if count < 1
|
60
|
-
logger.error('Invalid number of processes. Please specify a valid number
|
60
|
+
logger.error('Invalid number of processes. Please specify a valid number.')
|
61
61
|
exit
|
62
62
|
else
|
63
63
|
options[:processes] = count.to_i
|
64
64
|
end
|
65
65
|
end
|
66
|
+
|
67
|
+
opts.on '-c', '--connections INT', 'number of connections for redis connection pool' do |count|
|
68
|
+
count = count.to_i
|
69
|
+
|
70
|
+
if count < 1
|
71
|
+
logger.error('Invalid number of redis connections. Please specify a valid number.')
|
72
|
+
exit
|
73
|
+
else
|
74
|
+
options[:redis_connections] = count.to_i
|
75
|
+
end
|
76
|
+
end
|
66
77
|
end.parse!
|
67
78
|
end
|
68
79
|
end
|
data/lib/workerholic/starter.rb
CHANGED
data/lib/workerholic/version.rb
CHANGED
@@ -86,8 +86,16 @@ module Workerholic
|
|
86
86
|
end
|
87
87
|
|
88
88
|
def output_balancer_stats
|
89
|
-
|
90
|
-
|
89
|
+
queues_with_size = queues.map { |q| { name: q.name, size: q.size } }
|
90
|
+
|
91
|
+
queues_with_size.each do |q|
|
92
|
+
output = <<~LOG
|
93
|
+
Queue #{q[:name]}:
|
94
|
+
=> #{q[:size]} jobs
|
95
|
+
=> #{current_workers_count_per_queue[q[:name]]} workers
|
96
|
+
LOG
|
97
|
+
@logger.info(output)
|
98
|
+
end
|
91
99
|
end
|
92
100
|
|
93
101
|
def assign_one_worker_per_queue
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: workerholic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Antoine Leclercq
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2017-08-
|
13
|
+
date: 2017-08-06 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: redis
|