delayed_job 3.0.2 → 3.0.3
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.
- data/lib/delayed/command.rb +1 -1
- data/lib/delayed/worker.rb +15 -11
- metadata +105 -105
data/lib/delayed/command.rb
CHANGED
@@ -47,7 +47,7 @@ module Delayed
|
|
47
47
|
@monitor = true
|
48
48
|
end
|
49
49
|
opts.on('--sleep-delay N', "Amount of time to sleep when no jobs are found") do |n|
|
50
|
-
@options[:sleep_delay] = n
|
50
|
+
@options[:sleep_delay] = n.to_i
|
51
51
|
end
|
52
52
|
opts.on('--read-ahead N', "Number of jobs from the queue to consider") do |n|
|
53
53
|
@options[:read_ahead] = n
|
data/lib/delayed/worker.rb
CHANGED
@@ -16,7 +16,14 @@ module Delayed
|
|
16
16
|
DEFAULT_QUEUES = []
|
17
17
|
DEFAULT_READ_AHEAD = 5
|
18
18
|
|
19
|
-
cattr_accessor :min_priority, :max_priority, :max_attempts, :max_run_time,
|
19
|
+
cattr_accessor :min_priority, :max_priority, :max_attempts, :max_run_time,
|
20
|
+
:default_priority, :sleep_delay, :logger, :delay_jobs, :queues,
|
21
|
+
:read_ahead, :plugins, :destroy_failed_jobs
|
22
|
+
|
23
|
+
cattr_reader :backend
|
24
|
+
|
25
|
+
# name_prefix is ignored if name is set directly
|
26
|
+
attr_accessor :name_prefix
|
20
27
|
|
21
28
|
def self.reset
|
22
29
|
self.sleep_delay = DEFAULT_SLEEP_DELAY
|
@@ -31,12 +38,10 @@ module Delayed
|
|
31
38
|
reset
|
32
39
|
|
33
40
|
# Add or remove plugins in this list before the worker is instantiated
|
34
|
-
cattr_accessor :plugins
|
35
41
|
self.plugins = [Delayed::Plugins::ClearLocks]
|
36
42
|
|
37
43
|
# By default failed jobs are destroyed after too many attempts. If you want to keep them around
|
38
44
|
# (perhaps to inspect the reason for the failure), set this to false.
|
39
|
-
cattr_accessor :destroy_failed_jobs
|
40
45
|
self.destroy_failed_jobs = true
|
41
46
|
|
42
47
|
self.logger = if defined?(Rails)
|
@@ -45,11 +50,6 @@ module Delayed
|
|
45
50
|
RAILS_DEFAULT_LOGGER
|
46
51
|
end
|
47
52
|
|
48
|
-
# name_prefix is ignored if name is set directly
|
49
|
-
attr_accessor :name_prefix
|
50
|
-
|
51
|
-
cattr_reader :backend
|
52
|
-
|
53
53
|
def self.backend=(backend)
|
54
54
|
if backend.is_a? Symbol
|
55
55
|
require "delayed/serialization/#{backend}"
|
@@ -135,7 +135,7 @@ module Delayed
|
|
135
135
|
|
136
136
|
count = result.sum
|
137
137
|
|
138
|
-
break if
|
138
|
+
break if stop?
|
139
139
|
|
140
140
|
if count.zero?
|
141
141
|
sleep(self.class.sleep_delay)
|
@@ -144,7 +144,7 @@ module Delayed
|
|
144
144
|
end
|
145
145
|
end
|
146
146
|
|
147
|
-
break if
|
147
|
+
break if stop?
|
148
148
|
end
|
149
149
|
end
|
150
150
|
end
|
@@ -153,6 +153,10 @@ module Delayed
|
|
153
153
|
@exit = true
|
154
154
|
end
|
155
155
|
|
156
|
+
def stop?
|
157
|
+
!!@exit
|
158
|
+
end
|
159
|
+
|
156
160
|
# Do num jobs and return stats on success/failure.
|
157
161
|
# Exit early if interrupted.
|
158
162
|
def work_off(num = 100)
|
@@ -167,7 +171,7 @@ module Delayed
|
|
167
171
|
else
|
168
172
|
break # leave if no work could be done
|
169
173
|
end
|
170
|
-
break if
|
174
|
+
break if stop? # leave if we're exiting
|
171
175
|
end
|
172
176
|
|
173
177
|
return [success, failure]
|
metadata
CHANGED
@@ -1,128 +1,130 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: delayed_job
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 3.0.3
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 3
|
8
|
-
- 0
|
9
|
-
- 2
|
10
|
-
version: 3.0.2
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Matt Griffin
|
14
9
|
- Brian Ryckbost
|
15
10
|
- Steve Richert
|
16
11
|
- Chris Gaffney
|
17
12
|
- Brandon Keepers
|
18
|
-
-
|
13
|
+
- Tobias Lütke
|
19
14
|
autorequire:
|
20
15
|
bindir: bin
|
21
16
|
cert_chain: []
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
17
|
+
date: 2012-05-25 00:00:00.000000000 Z
|
18
|
+
dependencies:
|
19
|
+
- !ruby/object:Gem::Dependency
|
20
|
+
name: activesupport
|
21
|
+
requirement: !ruby/object:Gem::Requirement
|
27
22
|
none: false
|
28
|
-
requirements:
|
23
|
+
requirements:
|
29
24
|
- - ~>
|
30
|
-
- !ruby/object:Gem::Version
|
31
|
-
|
32
|
-
segments:
|
33
|
-
- 3
|
34
|
-
- 0
|
35
|
-
version: "3.0"
|
36
|
-
requirement: *id001
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3.0'
|
37
27
|
type: :runtime
|
38
28
|
prerelease: false
|
39
|
-
|
40
|
-
- !ruby/object:Gem::Dependency
|
41
|
-
version_requirements: &id002 !ruby/object:Gem::Requirement
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
30
|
none: false
|
43
|
-
requirements:
|
31
|
+
requirements:
|
44
32
|
- - ~>
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
|
47
|
-
|
48
|
-
- 3
|
49
|
-
- 0
|
50
|
-
version: "3.0"
|
51
|
-
requirement: *id002
|
52
|
-
type: :development
|
53
|
-
prerelease: false
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '3.0'
|
35
|
+
- !ruby/object:Gem::Dependency
|
54
36
|
name: activerecord
|
55
|
-
|
56
|
-
version_requirements: &id003 !ruby/object:Gem::Requirement
|
37
|
+
requirement: !ruby/object:Gem::Requirement
|
57
38
|
none: false
|
58
|
-
requirements:
|
39
|
+
requirements:
|
59
40
|
- - ~>
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
|
62
|
-
segments:
|
63
|
-
- 3
|
64
|
-
- 0
|
65
|
-
version: "3.0"
|
66
|
-
requirement: *id003
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '3.0'
|
67
43
|
type: :development
|
68
44
|
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
none: false
|
47
|
+
requirements:
|
48
|
+
- - ~>
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '3.0'
|
51
|
+
- !ruby/object:Gem::Dependency
|
69
52
|
name: actionmailer
|
70
|
-
|
71
|
-
version_requirements: &id004 !ruby/object:Gem::Requirement
|
53
|
+
requirement: !ruby/object:Gem::Requirement
|
72
54
|
none: false
|
73
|
-
requirements:
|
55
|
+
requirements:
|
74
56
|
- - ~>
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
|
77
|
-
segments:
|
78
|
-
- 2
|
79
|
-
- 0
|
80
|
-
version: "2.0"
|
81
|
-
requirement: *id004
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
version: '3.0'
|
82
59
|
type: :development
|
83
60
|
prerelease: false
|
61
|
+
version_requirements: !ruby/object:Gem::Requirement
|
62
|
+
none: false
|
63
|
+
requirements:
|
64
|
+
- - ~>
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '3.0'
|
67
|
+
- !ruby/object:Gem::Dependency
|
84
68
|
name: rspec
|
85
|
-
|
86
|
-
version_requirements: &id005 !ruby/object:Gem::Requirement
|
69
|
+
requirement: !ruby/object:Gem::Requirement
|
87
70
|
none: false
|
88
|
-
requirements:
|
89
|
-
- -
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
|
92
|
-
segments:
|
93
|
-
- 0
|
94
|
-
version: "0"
|
95
|
-
requirement: *id005
|
71
|
+
requirements:
|
72
|
+
- - ~>
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '2.0'
|
96
75
|
type: :development
|
97
76
|
prerelease: false
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
78
|
+
none: false
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
98
84
|
name: rake
|
99
|
-
|
100
|
-
version_requirements: &id006 !ruby/object:Gem::Requirement
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
101
86
|
none: false
|
102
|
-
requirements:
|
103
|
-
- -
|
104
|
-
- !ruby/object:Gem::Version
|
105
|
-
|
106
|
-
segments:
|
107
|
-
- 0
|
108
|
-
version: "0"
|
109
|
-
requirement: *id006
|
87
|
+
requirements:
|
88
|
+
- - ! '>='
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '0'
|
110
91
|
type: :development
|
111
92
|
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
none: false
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
- !ruby/object:Gem::Dependency
|
112
100
|
name: simplecov
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
101
|
+
requirement: !ruby/object:Gem::Requirement
|
102
|
+
none: false
|
103
|
+
requirements:
|
104
|
+
- - ! '>='
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: '0'
|
107
|
+
type: :development
|
108
|
+
prerelease: false
|
109
|
+
version_requirements: !ruby/object:Gem::Requirement
|
110
|
+
none: false
|
111
|
+
requirements:
|
112
|
+
- - ! '>='
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: '0'
|
115
|
+
description: ! 'Delayed_job (or DJ) encapsulates the common pattern of asynchronously
|
116
|
+
executing longer tasks in the background. It is a direct extraction from Shopify
|
117
|
+
where the job table is responsible for a multitude of core tasks.
|
118
|
+
|
119
|
+
|
120
|
+
This gem is collectiveidea''s fork (http://github.com/collectiveidea/delayed_job).'
|
121
|
+
email:
|
118
122
|
- brian@collectiveidea.com
|
119
123
|
executables: []
|
120
|
-
|
121
124
|
extensions: []
|
122
|
-
|
123
|
-
extra_rdoc_files:
|
125
|
+
extra_rdoc_files:
|
124
126
|
- README.textile
|
125
|
-
files:
|
127
|
+
files:
|
126
128
|
- contrib/delayed_job.monitrc
|
127
129
|
- contrib/delayed_job_multiple.monitrc
|
128
130
|
- lib/delayed/backend/base.rb
|
@@ -167,41 +169,39 @@ files:
|
|
167
169
|
- README.textile
|
168
170
|
homepage: http://github.com/collectiveidea/delayed_job
|
169
171
|
licenses: []
|
170
|
-
|
171
172
|
post_install_message:
|
172
|
-
rdoc_options:
|
173
|
+
rdoc_options:
|
173
174
|
- --main
|
174
175
|
- README.textile
|
175
176
|
- --inline-source
|
176
177
|
- --line-numbers
|
177
|
-
require_paths:
|
178
|
+
require_paths:
|
178
179
|
- lib
|
179
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
180
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
180
181
|
none: false
|
181
|
-
requirements:
|
182
|
-
- -
|
183
|
-
- !ruby/object:Gem::Version
|
184
|
-
|
185
|
-
segments:
|
182
|
+
requirements:
|
183
|
+
- - ! '>='
|
184
|
+
- !ruby/object:Gem::Version
|
185
|
+
version: '0'
|
186
|
+
segments:
|
186
187
|
- 0
|
187
|
-
|
188
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
188
|
+
hash: -2627089145995609867
|
189
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
189
190
|
none: false
|
190
|
-
requirements:
|
191
|
-
- -
|
192
|
-
- !ruby/object:Gem::Version
|
193
|
-
|
194
|
-
segments:
|
191
|
+
requirements:
|
192
|
+
- - ! '>='
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
195
|
+
segments:
|
195
196
|
- 0
|
196
|
-
|
197
|
+
hash: -2627089145995609867
|
197
198
|
requirements: []
|
198
|
-
|
199
199
|
rubyforge_project:
|
200
|
-
rubygems_version: 1.8.
|
200
|
+
rubygems_version: 1.8.24
|
201
201
|
signing_key:
|
202
202
|
specification_version: 3
|
203
203
|
summary: Database-backed asynchronous priority queue system -- Extracted from Shopify
|
204
|
-
test_files:
|
204
|
+
test_files:
|
205
205
|
- spec/autoloaded/clazz.rb
|
206
206
|
- spec/autoloaded/instance_clazz.rb
|
207
207
|
- spec/autoloaded/instance_struct.rb
|