resqued 0.7.8 → 0.7.9
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/CHANGES.md +53 -0
- data/lib/resqued/config.rb +2 -2
- data/lib/resqued/config/before_fork.rb +5 -1
- data/lib/resqued/listener.rb +8 -1
- data/lib/resqued/runtime_info.rb +5 -0
- data/lib/resqued/test_case.rb +2 -1
- data/lib/resqued/version.rb +1 -1
- data/spec/resqued/config/fork_event_spec.rb +7 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c8e7be4711322272287bceeae0c9192c20231b21
|
4
|
+
data.tar.gz: 259b3e8da585db42bc351d81ace7eaab284f8df0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ab5c1d07edf8e9e1f500236de138da349d8f25b7608d03476208d307c282bce47540c2c354487229991f17ca1348b1911d0a7e82856b9dbf85a7cdb02e8c9dc5
|
7
|
+
data.tar.gz: 99ceb6e83b86c23f0f605ebf41e30bc096b720c51647a5d8f8e23b00373b2b757cfae08303a4249f9c550611ff9b9be588ae42cf330d7ecee9c6b60377f1737b
|
data/CHANGES.md
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
Starting with version 0.6.1, resqued uses semantic versioning to indicate incompatibilities between the master process, listener process, and configuration.
|
2
|
+
|
3
|
+
0.7.9
|
4
|
+
-----
|
5
|
+
|
6
|
+
* Add the app's current version to the procline. (#30)
|
7
|
+
|
8
|
+
0.7.8
|
9
|
+
-----
|
10
|
+
|
11
|
+
* Avoid losing track of workers (#21, #29)
|
12
|
+
|
13
|
+
0.7.7
|
14
|
+
-----
|
15
|
+
|
16
|
+
* Open source: set new gem home page, run CI on travis, etc.
|
17
|
+
* Rewrite Resqued::TestCase.
|
18
|
+
|
19
|
+
0.7.6
|
20
|
+
-----
|
21
|
+
|
22
|
+
* Adds more logging.
|
23
|
+
|
24
|
+
0.7.4
|
25
|
+
-----
|
26
|
+
|
27
|
+
* Better logging with (Mono)Logger!
|
28
|
+
* Unregister resqued's signal handlers before running a resque worker.
|
29
|
+
* Report the number of workers spinning down.
|
30
|
+
|
31
|
+
0.7.3
|
32
|
+
-----
|
33
|
+
|
34
|
+
broken
|
35
|
+
|
36
|
+
0.7.2
|
37
|
+
-----
|
38
|
+
|
39
|
+
* Ensure that no stale log file handles exists after a SIGHUP.
|
40
|
+
|
41
|
+
0.7.1
|
42
|
+
-----
|
43
|
+
|
44
|
+
* Adds some `assert_resqued` test helpers.
|
45
|
+
|
46
|
+
0.7.0
|
47
|
+
-----
|
48
|
+
|
49
|
+
* Configuration was changed. In a worker pool, you can no longer specify the number of workers in a bare argument, e.g. `queue "queue_name", "50%"`. Now, you must use a hash to define how many workers work on a given queue, e.g. `queue "queue_name", :percent => 50`. Additionally, you can provide several queues in one call to queue, e.g. `queue "a", "b", "c"`.
|
50
|
+
|
51
|
+
* A message was added to indicate that a listener has started. This lets the master wait until the new listener is fully booted before it kills the old listener.
|
52
|
+
|
53
|
+
* The master advertises its version to the listener. This will make it easier to update the protocol between the master and listener in a backward-compatible way.
|
data/lib/resqued/config.rb
CHANGED
@@ -18,8 +18,8 @@ module Resqued
|
|
18
18
|
end
|
19
19
|
|
20
20
|
# Public: Performs the `before_fork` action from the config.
|
21
|
-
def before_fork
|
22
|
-
Resqued::Config::BeforeFork.new.apply_all(@config_data)
|
21
|
+
def before_fork(resqued)
|
22
|
+
Resqued::Config::BeforeFork.new(:resqued => resqued).apply_all(@config_data)
|
23
23
|
end
|
24
24
|
|
25
25
|
# Public: Performs the `after_fork` action from the config.
|
@@ -8,9 +8,13 @@ module Resqued
|
|
8
8
|
# # Runs once, before forking all the workers.
|
9
9
|
# end
|
10
10
|
class BeforeFork < Base
|
11
|
+
def initialize(options = {})
|
12
|
+
@resqued = options.fetch(:resqued)
|
13
|
+
end
|
14
|
+
|
11
15
|
# DSL: Execute the `before_fork` block.
|
12
16
|
def before_fork
|
13
|
-
yield
|
17
|
+
yield @resqued
|
14
18
|
end
|
15
19
|
end
|
16
20
|
end
|
data/lib/resqued/listener.rb
CHANGED
@@ -3,6 +3,7 @@ require 'socket'
|
|
3
3
|
require 'resqued/config'
|
4
4
|
require 'resqued/logging'
|
5
5
|
require 'resqued/procline_version'
|
6
|
+
require 'resqued/runtime_info'
|
6
7
|
require 'resqued/sleepy'
|
7
8
|
require 'resqued/version'
|
8
9
|
require 'resqued/worker'
|
@@ -70,7 +71,7 @@ module Resqued
|
|
70
71
|
|
71
72
|
config = Resqued::Config.new(@config_paths)
|
72
73
|
set_default_resque_logger
|
73
|
-
config.before_fork
|
74
|
+
config.before_fork(info)
|
74
75
|
report_to_master("RUNNING")
|
75
76
|
|
76
77
|
write_procline('running')
|
@@ -233,10 +234,16 @@ module Resqued
|
|
233
234
|
def write_procline(status)
|
234
235
|
procline = "#{procline_version} listener"
|
235
236
|
procline << " #{@listener_id}" if @listener_id
|
237
|
+
procline << " [#{info.app_version}]" if info.app_version
|
236
238
|
procline << " [#{status}]"
|
237
239
|
procline << " [#{running_workers.size} workers]" if status == 'shutdown'
|
238
240
|
procline << " #{@config_paths.join(' ')}"
|
239
241
|
$0 = procline
|
240
242
|
end
|
243
|
+
|
244
|
+
# Private.
|
245
|
+
def info
|
246
|
+
@info ||= RuntimeInfo.new
|
247
|
+
end
|
241
248
|
end
|
242
249
|
end
|
data/lib/resqued/test_case.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'resqued/config'
|
2
|
+
require 'resqued/runtime_info'
|
2
3
|
|
3
4
|
module Resqued
|
4
5
|
module TestCase
|
@@ -14,7 +15,7 @@ module Resqued
|
|
14
15
|
# assert_resqued 'config/resqued-environment.rb', 'config/resqued-workers.rb'
|
15
16
|
def assert_resqued(*paths)
|
16
17
|
config = Resqued::Config.new(paths)
|
17
|
-
config.before_fork
|
18
|
+
config.before_fork(RuntimeInfo.new)
|
18
19
|
config.build_workers
|
19
20
|
config.after_fork(Resque::Worker.new('*'))
|
20
21
|
end
|
data/lib/resqued/version.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require 'resqued/config/after_fork'
|
3
3
|
require 'resqued/config/before_fork'
|
4
|
+
require 'resqued/runtime_info'
|
4
5
|
|
5
6
|
describe do
|
6
7
|
before { evaluator.apply(config) }
|
@@ -50,11 +51,16 @@ describe do
|
|
50
51
|
before_fork do
|
51
52
|
$before_fork_called = true
|
52
53
|
end
|
54
|
+
before_fork do |resqued|
|
55
|
+
resqued.app_version = "example"
|
56
|
+
end
|
53
57
|
END_CONFIG
|
54
58
|
|
55
|
-
let(:evaluator) { $before_fork_called = false ; Resqued::Config::BeforeFork.new }
|
59
|
+
let(:evaluator) { $before_fork_called = false ; Resqued::Config::BeforeFork.new(:resqued => resqued) }
|
60
|
+
let(:resqued) { Resqued::RuntimeInfo.new }
|
56
61
|
|
57
62
|
it { expect($before_fork_called).to eq(true) }
|
63
|
+
it { expect(resqued.app_version).to eq("example") }
|
58
64
|
end
|
59
65
|
end
|
60
66
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resqued
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Burke
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: kgio
|
@@ -102,12 +102,14 @@ files:
|
|
102
102
|
- lib/resqued/master.rb
|
103
103
|
- lib/resqued/pidfile.rb
|
104
104
|
- lib/resqued/procline_version.rb
|
105
|
+
- lib/resqued/runtime_info.rb
|
105
106
|
- lib/resqued/sleepy.rb
|
106
107
|
- lib/resqued/test_case.rb
|
107
108
|
- lib/resqued/version.rb
|
108
109
|
- lib/resqued/worker.rb
|
109
110
|
- lib/resqued.rb
|
110
111
|
- README.md
|
112
|
+
- CHANGES.md
|
111
113
|
- docs/ipc.md
|
112
114
|
- docs/processes.md
|
113
115
|
- docs/signals.md
|