rocketjob 3.0.0.beta → 3.0.0.beta2
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/config.rb +1 -1
- data/lib/rocket_job/heartbeat.rb +2 -5
- data/lib/rocket_job/performance.rb +1 -1
- data/lib/rocket_job/plugins/document.rb +1 -1
- data/lib/rocket_job/plugins/job/model.rb +1 -0
- data/lib/rocket_job/server.rb +6 -6
- data/lib/rocket_job/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: 8e79fbd2ab361a944bd653f0f8f614aa0cb8f951
|
4
|
+
data.tar.gz: 79b67d6410a552e521dd89964103fef4400c4dee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 54c2021c45ace9f90b646db94edbe54863f70b9eb6397bc6f8204842422cbc22b287c3d685397a219f53dd462b388d589dd7dbb28af6b2add95894c4cd8029f5
|
7
|
+
data.tar.gz: c5e18971e9c434ea64901dfe377cea4ea92685ef9d1b9c445bc37a3f43830edf15ae42e4edf23bb481576fb9557f420136d1617c48603ef75a962c406ede9986
|
data/lib/rocket_job/config.rb
CHANGED
@@ -26,7 +26,7 @@ module RocketJob
|
|
26
26
|
#
|
27
27
|
|
28
28
|
# The maximum number of workers to create on any one server
|
29
|
-
field :
|
29
|
+
field :max_workers, type: Integer, default: 10
|
30
30
|
|
31
31
|
# Number of seconds between heartbeats from a Rocket Job Server process
|
32
32
|
field :heartbeat_seconds, type: Integer, default: 15
|
data/lib/rocket_job/heartbeat.rb
CHANGED
@@ -9,11 +9,8 @@ module RocketJob
|
|
9
9
|
# Time of the last heartbeat received from this server
|
10
10
|
field :updated_at, type: Time
|
11
11
|
|
12
|
-
# Number of
|
13
|
-
field :
|
14
|
-
# Number of threads in the pool
|
15
|
-
# This number should grow and shrink between 1 and :max_workers
|
16
|
-
field :current_threads, type: Integer
|
12
|
+
# Number of workers started.
|
13
|
+
field :workers, type: Integer
|
17
14
|
|
18
15
|
#
|
19
16
|
# Process Information. Future.
|
@@ -23,7 +23,7 @@ module RocketJob
|
|
23
23
|
RocketJob::Server.running.each do |worker_process|
|
24
24
|
unless worker_process.zombie?
|
25
25
|
self.worker_processes += 1
|
26
|
-
self.worker_threads += worker_process.heartbeat.
|
26
|
+
self.worker_threads += worker_process.heartbeat.workers
|
27
27
|
end
|
28
28
|
end
|
29
29
|
puts "Running: #{worker_threads} workers, distributed across #{worker_processes} processes"
|
@@ -72,7 +72,7 @@ module RocketJob
|
|
72
72
|
if doc = collection.find(_id: id).find_one_and_update({'$set' => attrs}, return_document: :after)
|
73
73
|
# Clear out keys that are not returned during the reload from MongoDB
|
74
74
|
(fields.keys + embedded_relations.keys - doc.keys).each { |key| send("#{key}=", nil) }
|
75
|
-
@attributes =
|
75
|
+
@attributes = doc
|
76
76
|
apply_defaults
|
77
77
|
self
|
78
78
|
else
|
data/lib/rocket_job/server.rb
CHANGED
@@ -38,7 +38,7 @@ module RocketJob
|
|
38
38
|
|
39
39
|
# The maximum number of workers this server should start
|
40
40
|
# If set, it will override the default value in RocketJob::Config
|
41
|
-
field :max_workers, type: Integer, default: -> { Config.instance.
|
41
|
+
field :max_workers, type: Integer, default: -> { Config.instance.max_workers }
|
42
42
|
|
43
43
|
# When this server process was started
|
44
44
|
field :started_at, type: Time
|
@@ -223,7 +223,7 @@ module RocketJob
|
|
223
223
|
# Management Thread
|
224
224
|
def run
|
225
225
|
logger.info "Using MongoDB Database: #{RocketJob::Job.collection.database.name}"
|
226
|
-
build_heartbeat(updated_at: Time.now,
|
226
|
+
build_heartbeat(updated_at: Time.now, workers: 0)
|
227
227
|
started!
|
228
228
|
adjust_workers(true)
|
229
229
|
logger.info "RocketJob Server started with #{workers.size} workers running"
|
@@ -232,8 +232,8 @@ module RocketJob
|
|
232
232
|
sleep Config.instance.heartbeat_seconds
|
233
233
|
|
234
234
|
find_and_update(
|
235
|
-
'heartbeat.updated_at'
|
236
|
-
'heartbeat.
|
235
|
+
'heartbeat.updated_at' => Time.now,
|
236
|
+
'heartbeat.workers' => worker_count
|
237
237
|
)
|
238
238
|
|
239
239
|
# In case number of threads has been modified
|
@@ -255,8 +255,8 @@ module RocketJob
|
|
255
255
|
# Timeout waiting for worker to stop
|
256
256
|
begin
|
257
257
|
find_and_update(
|
258
|
-
'heartbeat.updated_at'
|
259
|
-
'heartbeat.
|
258
|
+
'heartbeat.updated_at' => Time.now,
|
259
|
+
'heartbeat.workers' => worker_count
|
260
260
|
)
|
261
261
|
rescue Mongoid::Errors::DocumentNotFound
|
262
262
|
logger.warn('Server has been destroyed. Going down hard!')
|
data/lib/rocket_job/version.rb
CHANGED
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.beta2
|
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-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|