sidekiq 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of sidekiq might be problematic. Click here for more details.
- data/Changes.md +8 -2
- data/Gemfile +2 -0
- data/lib/sidekiq/capistrano.rb +6 -3
- data/lib/sidekiq/manager.rb +20 -4
- data/lib/sidekiq/version.rb +1 -1
- data/lib/sidekiq/web.rb +1 -1
- metadata +24 -24
data/Changes.md
CHANGED
@@ -1,4 +1,11 @@
|
|
1
|
-
|
1
|
+
1.1.1
|
2
|
+
-----------
|
3
|
+
|
4
|
+
- Set procline for easy monitoring of Sidekiq status via "ps aux"
|
5
|
+
- Fix race condition on shutdown [#134]
|
6
|
+
- Fix hang with cap sidekiq:start [#131]
|
7
|
+
|
8
|
+
1.1.0
|
2
9
|
-----------
|
3
10
|
|
4
11
|
- The Sidekiq license has switched from GPLv3 to LGPLv3!
|
@@ -24,7 +31,6 @@ Sidekiq.configure_server do |config|
|
|
24
31
|
end
|
25
32
|
```
|
26
33
|
|
27
|
-
|
28
34
|
1.0.0
|
29
35
|
-----------
|
30
36
|
|
data/Gemfile
CHANGED
data/lib/sidekiq/capistrano.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
Capistrano::Configuration.instance.load do
|
2
|
-
before "deploy",
|
3
|
-
after "deploy",
|
2
|
+
before "deploy", "sidekiq:quiet"
|
3
|
+
after "deploy", "sidekiq:restart"
|
4
|
+
after "deploy:stop", "sidekiq:stop"
|
5
|
+
after "deploy:start", "sidekiq:start"
|
6
|
+
after "deploy:restart", "sidekiq:restart"
|
4
7
|
|
5
8
|
_cset(:sidekiq_timeout) { 10 }
|
6
9
|
_cset(:sidekiq_role) { :app }
|
@@ -20,7 +23,7 @@ Capistrano::Configuration.instance.load do
|
|
20
23
|
desc "Start sidekiq"
|
21
24
|
task :start, :roles => lambda { fetch(:sidekiq_role) } do
|
22
25
|
rails_env = fetch(:rails_env, "production")
|
23
|
-
run "cd #{current_path} ; nohup bundle exec sidekiq -e #{rails_env} -C #{current_path}/config/sidekiq.yml -P #{current_path}/tmp/pids/sidekiq.pid >> #{current_path}/log/sidekiq.log 2>&1 &"
|
26
|
+
run "cd #{current_path} ; nohup bundle exec sidekiq -e #{rails_env} -C #{current_path}/config/sidekiq.yml -P #{current_path}/tmp/pids/sidekiq.pid >> #{current_path}/log/sidekiq.log 2>&1 &", :pty => false
|
24
27
|
end
|
25
28
|
|
26
29
|
desc "Restart sidekiq"
|
data/lib/sidekiq/manager.rb
CHANGED
@@ -30,6 +30,7 @@ module Sidekiq
|
|
30
30
|
@busy = []
|
31
31
|
@fetcher = Fetcher.new(current_actor, options[:queues])
|
32
32
|
@ready = @count.times.map { Processor.new_link(current_actor) }
|
33
|
+
procline
|
33
34
|
end
|
34
35
|
|
35
36
|
def stop(options={})
|
@@ -97,10 +98,20 @@ module Sidekiq
|
|
97
98
|
|
98
99
|
def assign(msg, queue)
|
99
100
|
watchdog("Manager#assign died") do
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
101
|
+
if stopped?
|
102
|
+
# Race condition between Manager#stop if Fetcher
|
103
|
+
# is blocked on redis and gets a message after
|
104
|
+
# all the ready Processors have been stopped.
|
105
|
+
# Push the message back to redis.
|
106
|
+
Sidekiq.redis do |conn|
|
107
|
+
conn.lpush("queue:#{queue}", msg)
|
108
|
+
end
|
109
|
+
else
|
110
|
+
processor = @ready.pop
|
111
|
+
@in_progress[processor.object_id] = [msg, queue]
|
112
|
+
@busy << processor
|
113
|
+
processor.process!(MultiJson.decode(msg), queue)
|
114
|
+
end
|
104
115
|
end
|
105
116
|
end
|
106
117
|
|
@@ -142,5 +153,10 @@ module Sidekiq
|
|
142
153
|
def stopped?
|
143
154
|
@done
|
144
155
|
end
|
156
|
+
|
157
|
+
def procline
|
158
|
+
$0 = "sidekiq #{Sidekiq::VERSION} [#{@busy.size} of #{@count} busy]"
|
159
|
+
after(5) { procline }
|
160
|
+
end
|
145
161
|
end
|
146
162
|
end
|
data/lib/sidekiq/version.rb
CHANGED
data/lib/sidekiq/web.rb
CHANGED
@@ -21,7 +21,7 @@ module Sidekiq
|
|
21
21
|
def call(env)
|
22
22
|
# Solve the problem of people requesting /sidekiq when they need to request /sidekiq/ so
|
23
23
|
# that relative links in templates resolve correctly.
|
24
|
-
return [301, { 'Location' => "#{env['SCRIPT_NAME']}/" }, []] if env['SCRIPT_NAME'] == env['REQUEST_PATH']
|
24
|
+
return [301, { 'Location' => "#{env['SCRIPT_NAME']}/" }, ['redirecting']] if env['SCRIPT_NAME'] == env['REQUEST_PATH']
|
25
25
|
|
26
26
|
return @app.call(env) unless @matcher =~ env["PATH_INFO"]
|
27
27
|
env['PATH_INFO'].sub!(@matcher,'')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-04-
|
12
|
+
date: 2012-04-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: redis
|
16
|
-
requirement: &
|
16
|
+
requirement: &70138661617600 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70138661617600
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: redis-namespace
|
27
|
-
requirement: &
|
27
|
+
requirement: &70138661617120 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70138661617120
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: connection_pool
|
38
|
-
requirement: &
|
38
|
+
requirement: &70138661616600 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 0.9.0
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70138661616600
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: celluloid
|
49
|
-
requirement: &
|
49
|
+
requirement: &70138661616060 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.10.0
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70138661616060
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: multi_json
|
60
|
-
requirement: &
|
60
|
+
requirement: &70138661615620 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70138661615620
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: minitest
|
71
|
-
requirement: &
|
71
|
+
requirement: &70138661615140 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70138661615140
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: sinatra
|
82
|
-
requirement: &
|
82
|
+
requirement: &70138661614720 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70138661614720
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: slim
|
93
|
-
requirement: &
|
93
|
+
requirement: &70138661614300 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70138661614300
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: rake
|
104
|
-
requirement: &
|
104
|
+
requirement: &70138661613860 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,10 +109,10 @@ dependencies:
|
|
109
109
|
version: '0'
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *70138661613860
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: actionmailer
|
115
|
-
requirement: &
|
115
|
+
requirement: &70138661610880 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ~>
|
@@ -120,10 +120,10 @@ dependencies:
|
|
120
120
|
version: '3'
|
121
121
|
type: :development
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
123
|
+
version_requirements: *70138661610880
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: activerecord
|
126
|
-
requirement: &
|
126
|
+
requirement: &70138661610140 !ruby/object:Gem::Requirement
|
127
127
|
none: false
|
128
128
|
requirements:
|
129
129
|
- - ~>
|
@@ -131,7 +131,7 @@ dependencies:
|
|
131
131
|
version: '3'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
|
-
version_requirements: *
|
134
|
+
version_requirements: *70138661610140
|
135
135
|
description: Simple, efficient message processing for Ruby
|
136
136
|
email:
|
137
137
|
- mperham@gmail.com
|