rocketjob 3.0.0.rc1 → 3.0.0.rc2
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/rocket_job/server.rb +29 -25
- data/lib/rocket_job/version.rb +1 -1
- data/lib/rocket_job/worker.rb +2 -2
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 19ad2006dddc959c04abb5299e6cbdbf8601f54b
|
4
|
+
data.tar.gz: 453df16f28f68ab2ee760d5ebfbaa10241217295
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bb828a20755d818fbbecd8170de158485634dd032141100510d6758d81bd4641fb3bda747316265786a0528125e5019d06fa724f3eb26ec2de9892cd7b458d93
|
7
|
+
data.tar.gz: cf74c8c0f5878d389b4898414a2fc80e74fbae67cf27419d52c6c61493f5b7a7467e26718c504bbeeedd636d4ff7062dc3aef53816d443a95c30af9d3e287810
|
data/lib/rocket_job/server.rb
CHANGED
@@ -231,30 +231,7 @@ module RocketJob
|
|
231
231
|
started!
|
232
232
|
logger.info 'RocketJob Server started'
|
233
233
|
|
234
|
-
|
235
|
-
while running? || paused?
|
236
|
-
SemanticLogger.silence(:info) do
|
237
|
-
find_and_update(
|
238
|
-
'heartbeat.updated_at' => Time.now,
|
239
|
-
'heartbeat.workers' => worker_count
|
240
|
-
)
|
241
|
-
end
|
242
|
-
if paused?
|
243
|
-
workers.each(&:shutdown!)
|
244
|
-
stagger = true
|
245
|
-
end
|
246
|
-
|
247
|
-
# In case number of threads has been modified
|
248
|
-
adjust_workers(stagger)
|
249
|
-
stagger = false
|
250
|
-
|
251
|
-
# Stop server if shutdown indicator was set
|
252
|
-
if self.class.shutdown? && may_stop?
|
253
|
-
stop!
|
254
|
-
else
|
255
|
-
sleep Config.instance.heartbeat_seconds
|
256
|
-
end
|
257
|
-
end
|
234
|
+
run_workers
|
258
235
|
|
259
236
|
logger.info 'Waiting for workers to stop'
|
260
237
|
# Tell each worker to shutdown cleanly
|
@@ -285,6 +262,33 @@ module RocketJob
|
|
285
262
|
end
|
286
263
|
end
|
287
264
|
|
265
|
+
def run_workers
|
266
|
+
stagger = true
|
267
|
+
while running? || paused?
|
268
|
+
SemanticLogger.silence(:info) do
|
269
|
+
find_and_update(
|
270
|
+
'heartbeat.updated_at' => Time.now,
|
271
|
+
'heartbeat.workers' => worker_count
|
272
|
+
)
|
273
|
+
end
|
274
|
+
if paused?
|
275
|
+
workers.each(&:shutdown!)
|
276
|
+
stagger = true
|
277
|
+
end
|
278
|
+
|
279
|
+
# In case number of threads has been modified
|
280
|
+
adjust_workers(stagger)
|
281
|
+
stagger = false
|
282
|
+
|
283
|
+
# Stop server if shutdown indicator was set
|
284
|
+
if self.class.shutdown? && may_stop?
|
285
|
+
stop!
|
286
|
+
else
|
287
|
+
sleep Config.instance.heartbeat_seconds
|
288
|
+
end
|
289
|
+
end
|
290
|
+
end
|
291
|
+
|
288
292
|
# Returns [Fixnum] number of workers (threads) that are alive
|
289
293
|
def worker_count
|
290
294
|
workers.count(&:alive?)
|
@@ -319,7 +323,7 @@ module RocketJob
|
|
319
323
|
worker_count = max_workers - count
|
320
324
|
logger.info "Starting #{worker_count} workers"
|
321
325
|
worker_count.times.each do
|
322
|
-
sleep (Config.instance.max_poll_seconds.to_f / max_workers)
|
326
|
+
sleep (Config.instance.max_poll_seconds.to_f / max_workers) if stagger_workers
|
323
327
|
return if shutdown?
|
324
328
|
# Start worker
|
325
329
|
begin
|
data/lib/rocket_job/version.rb
CHANGED
data/lib/rocket_job/worker.rb
CHANGED
@@ -32,7 +32,7 @@ module RocketJob
|
|
32
32
|
set_callback(:running, :around, *filters, &blk)
|
33
33
|
end
|
34
34
|
|
35
|
-
def initialize(id: 0, server_name: 'inline', inline: false, re_check_seconds: Config.instance.re_check_seconds, filter: nil)
|
35
|
+
def initialize(id: 0, server_name: 'inline:0', inline: false, re_check_seconds: Config.instance.re_check_seconds, filter: nil)
|
36
36
|
@id = id
|
37
37
|
@server_name = server_name
|
38
38
|
if defined?(Concurrent::JavaAtomicBoolean) || defined?(Concurrent::CAtomicBoolean)
|
@@ -42,7 +42,7 @@ module RocketJob
|
|
42
42
|
end
|
43
43
|
@name = "#{server_name}:#{id}"
|
44
44
|
@thread = Thread.new { run } unless inline
|
45
|
-
@re_check_seconds = re_check_seconds
|
45
|
+
@re_check_seconds = re_check_seconds || 60
|
46
46
|
@re_check_start = Time.now
|
47
47
|
@filter = filter || {}
|
48
48
|
@current_filter = @filter.dup
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rocketjob
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.0.
|
4
|
+
version: 3.0.0.rc2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Reid Morrison
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-11-
|
11
|
+
date: 2016-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '4.3'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: mongo_ha
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2.0'
|
69
83
|
description:
|
70
84
|
email:
|
71
85
|
- support@rocketjob.io
|