delayed_job 2.0.6 → 2.0.7
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.
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
class DelayedJobGenerator < Rails::Generator::Base
|
|
2
|
+
default_options :skip_migration => false
|
|
3
|
+
|
|
4
|
+
def manifest
|
|
5
|
+
record do |m|
|
|
6
|
+
m.template 'script', 'script/delayed_job', :chmod => 0755
|
|
7
|
+
if !options[:skip_migration] && defined?(ActiveRecord)
|
|
8
|
+
m.migration_template "migration.rb", 'db/migrate',
|
|
9
|
+
:migration_file_name => "create_delayed_jobs"
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
protected
|
|
15
|
+
|
|
16
|
+
def add_options!(opt)
|
|
17
|
+
opt.separator ''
|
|
18
|
+
opt.separator 'Options:'
|
|
19
|
+
opt.on("--skip-migration", "Don't generate a migration") { |v| options[:skip_migration] = v }
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
class CreateDelayedJobs < ActiveRecord::Migration
|
|
2
|
+
def self.up
|
|
3
|
+
create_table :delayed_jobs, :force => true do |table|
|
|
4
|
+
table.integer :priority, :default => 0 # Allows some jobs to jump to the front of the queue
|
|
5
|
+
table.integer :attempts, :default => 0 # Provides for retries, but still fail eventually.
|
|
6
|
+
table.text :handler # YAML-encoded string of the object that will do work
|
|
7
|
+
table.text :last_error # reason for last failure (See Note below)
|
|
8
|
+
table.datetime :run_at # When to run. Could be Time.zone.now for immediately, or sometime in the future.
|
|
9
|
+
table.datetime :locked_at # Set when a client is working on this object
|
|
10
|
+
table.datetime :failed_at # Set when all retries have failed (actually, by default, the record is deleted instead)
|
|
11
|
+
table.string :locked_by # Who is working on this object (if locked)
|
|
12
|
+
table.timestamps
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
add_index :delayed_jobs, [:priority, :run_at], :name => 'delayed_jobs_priority'
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def self.down
|
|
19
|
+
drop_table :delayed_jobs
|
|
20
|
+
end
|
|
21
|
+
end
|
data/rails/init.rb
ADDED
data/tasks/jobs.rake
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'delayed', 'tasks'))
|
metadata
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: delayed_job
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
4
|
+
hash: 1
|
|
5
|
+
prerelease:
|
|
5
6
|
segments:
|
|
6
7
|
- 2
|
|
7
8
|
- 0
|
|
8
|
-
-
|
|
9
|
-
version: 2.0.
|
|
9
|
+
- 7
|
|
10
|
+
version: 2.0.7
|
|
10
11
|
platform: ruby
|
|
11
12
|
authors:
|
|
12
13
|
- Chris Gaffney
|
|
@@ -16,180 +17,212 @@ autorequire:
|
|
|
16
17
|
bindir: bin
|
|
17
18
|
cert_chain: []
|
|
18
19
|
|
|
19
|
-
date: 2011-
|
|
20
|
+
date: 2011-02-10 00:00:00 -05:00
|
|
20
21
|
default_executable:
|
|
21
22
|
dependencies:
|
|
22
23
|
- !ruby/object:Gem::Dependency
|
|
24
|
+
prerelease: false
|
|
25
|
+
type: :runtime
|
|
23
26
|
name: daemons
|
|
24
|
-
|
|
27
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
|
25
28
|
none: false
|
|
26
29
|
requirements:
|
|
27
|
-
- - "
|
|
30
|
+
- - "="
|
|
28
31
|
- !ruby/object:Gem::Version
|
|
32
|
+
hash: 3
|
|
29
33
|
segments:
|
|
34
|
+
- 1
|
|
30
35
|
- 0
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
version_requirements: *id001
|
|
36
|
+
- 10
|
|
37
|
+
version: 1.0.10
|
|
38
|
+
requirement: *id001
|
|
35
39
|
- !ruby/object:Gem::Dependency
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
prerelease: false
|
|
41
|
+
type: :runtime
|
|
42
|
+
name: activesupport
|
|
43
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
|
38
44
|
none: false
|
|
39
45
|
requirements:
|
|
40
|
-
- -
|
|
46
|
+
- - ~>
|
|
41
47
|
- !ruby/object:Gem::Version
|
|
48
|
+
hash: 3
|
|
42
49
|
segments:
|
|
43
50
|
- 2
|
|
44
51
|
- 0
|
|
45
52
|
version: "2.0"
|
|
46
|
-
|
|
53
|
+
requirement: *id002
|
|
54
|
+
- !ruby/object:Gem::Dependency
|
|
47
55
|
prerelease: false
|
|
48
|
-
|
|
56
|
+
type: :development
|
|
57
|
+
name: rspec
|
|
58
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
|
59
|
+
none: false
|
|
60
|
+
requirements:
|
|
61
|
+
- - ~>
|
|
62
|
+
- !ruby/object:Gem::Version
|
|
63
|
+
hash: 15
|
|
64
|
+
segments:
|
|
65
|
+
- 1
|
|
66
|
+
- 0
|
|
67
|
+
version: "1.0"
|
|
68
|
+
requirement: *id003
|
|
49
69
|
- !ruby/object:Gem::Dependency
|
|
70
|
+
prerelease: false
|
|
71
|
+
type: :development
|
|
50
72
|
name: rake
|
|
51
|
-
|
|
73
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
|
52
74
|
none: false
|
|
53
75
|
requirements:
|
|
54
76
|
- - ">="
|
|
55
77
|
- !ruby/object:Gem::Version
|
|
78
|
+
hash: 3
|
|
56
79
|
segments:
|
|
57
80
|
- 0
|
|
58
81
|
version: "0"
|
|
59
|
-
|
|
60
|
-
prerelease: false
|
|
61
|
-
version_requirements: *id003
|
|
82
|
+
requirement: *id004
|
|
62
83
|
- !ruby/object:Gem::Dependency
|
|
84
|
+
prerelease: false
|
|
85
|
+
type: :development
|
|
63
86
|
name: rails
|
|
64
|
-
|
|
87
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
|
65
88
|
none: false
|
|
66
89
|
requirements:
|
|
67
|
-
- -
|
|
90
|
+
- - ~>
|
|
68
91
|
- !ruby/object:Gem::Version
|
|
92
|
+
hash: 5
|
|
69
93
|
segments:
|
|
94
|
+
- 2
|
|
70
95
|
- 3
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
type: :development
|
|
74
|
-
prerelease: false
|
|
75
|
-
version_requirements: *id004
|
|
96
|
+
version: "2.3"
|
|
97
|
+
requirement: *id005
|
|
76
98
|
- !ruby/object:Gem::Dependency
|
|
99
|
+
prerelease: false
|
|
100
|
+
type: :development
|
|
77
101
|
name: sqlite3
|
|
78
|
-
|
|
102
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
|
79
103
|
none: false
|
|
80
104
|
requirements:
|
|
81
105
|
- - ">="
|
|
82
106
|
- !ruby/object:Gem::Version
|
|
107
|
+
hash: 3
|
|
83
108
|
segments:
|
|
84
109
|
- 0
|
|
85
110
|
version: "0"
|
|
86
|
-
|
|
87
|
-
prerelease: false
|
|
88
|
-
version_requirements: *id005
|
|
111
|
+
requirement: *id006
|
|
89
112
|
- !ruby/object:Gem::Dependency
|
|
113
|
+
prerelease: false
|
|
114
|
+
type: :development
|
|
90
115
|
name: mysql
|
|
91
|
-
|
|
116
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
|
92
117
|
none: false
|
|
93
118
|
requirements:
|
|
94
119
|
- - ">="
|
|
95
120
|
- !ruby/object:Gem::Version
|
|
121
|
+
hash: 3
|
|
96
122
|
segments:
|
|
97
123
|
- 0
|
|
98
124
|
version: "0"
|
|
99
|
-
|
|
100
|
-
prerelease: false
|
|
101
|
-
version_requirements: *id006
|
|
125
|
+
requirement: *id007
|
|
102
126
|
- !ruby/object:Gem::Dependency
|
|
127
|
+
prerelease: false
|
|
128
|
+
type: :development
|
|
103
129
|
name: mongo_mapper
|
|
104
|
-
|
|
130
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
|
105
131
|
none: false
|
|
106
132
|
requirements:
|
|
107
|
-
- -
|
|
133
|
+
- - ~>
|
|
108
134
|
- !ruby/object:Gem::Version
|
|
135
|
+
hash: 63
|
|
109
136
|
segments:
|
|
110
137
|
- 0
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
138
|
+
- 8
|
|
139
|
+
- 0
|
|
140
|
+
version: 0.8.0
|
|
141
|
+
requirement: *id008
|
|
115
142
|
- !ruby/object:Gem::Dependency
|
|
143
|
+
prerelease: false
|
|
144
|
+
type: :development
|
|
116
145
|
name: dm-core
|
|
117
|
-
|
|
146
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
|
118
147
|
none: false
|
|
119
148
|
requirements:
|
|
120
149
|
- - ">="
|
|
121
150
|
- !ruby/object:Gem::Version
|
|
151
|
+
hash: 3
|
|
122
152
|
segments:
|
|
123
153
|
- 0
|
|
124
154
|
version: "0"
|
|
125
|
-
|
|
126
|
-
prerelease: false
|
|
127
|
-
version_requirements: *id008
|
|
155
|
+
requirement: *id009
|
|
128
156
|
- !ruby/object:Gem::Dependency
|
|
157
|
+
prerelease: false
|
|
158
|
+
type: :development
|
|
129
159
|
name: dm-observer
|
|
130
|
-
|
|
160
|
+
version_requirements: &id010 !ruby/object:Gem::Requirement
|
|
131
161
|
none: false
|
|
132
162
|
requirements:
|
|
133
163
|
- - ">="
|
|
134
164
|
- !ruby/object:Gem::Version
|
|
165
|
+
hash: 3
|
|
135
166
|
segments:
|
|
136
167
|
- 0
|
|
137
168
|
version: "0"
|
|
138
|
-
|
|
139
|
-
prerelease: false
|
|
140
|
-
version_requirements: *id009
|
|
169
|
+
requirement: *id010
|
|
141
170
|
- !ruby/object:Gem::Dependency
|
|
171
|
+
prerelease: false
|
|
172
|
+
type: :development
|
|
142
173
|
name: dm-aggregates
|
|
143
|
-
|
|
174
|
+
version_requirements: &id011 !ruby/object:Gem::Requirement
|
|
144
175
|
none: false
|
|
145
176
|
requirements:
|
|
146
177
|
- - ">="
|
|
147
178
|
- !ruby/object:Gem::Version
|
|
179
|
+
hash: 3
|
|
148
180
|
segments:
|
|
149
181
|
- 0
|
|
150
182
|
version: "0"
|
|
151
|
-
|
|
152
|
-
prerelease: false
|
|
153
|
-
version_requirements: *id010
|
|
183
|
+
requirement: *id011
|
|
154
184
|
- !ruby/object:Gem::Dependency
|
|
185
|
+
prerelease: false
|
|
186
|
+
type: :development
|
|
155
187
|
name: dm-validations
|
|
156
|
-
|
|
188
|
+
version_requirements: &id012 !ruby/object:Gem::Requirement
|
|
157
189
|
none: false
|
|
158
190
|
requirements:
|
|
159
191
|
- - ">="
|
|
160
192
|
- !ruby/object:Gem::Version
|
|
193
|
+
hash: 3
|
|
161
194
|
segments:
|
|
162
195
|
- 0
|
|
163
196
|
version: "0"
|
|
164
|
-
|
|
165
|
-
prerelease: false
|
|
166
|
-
version_requirements: *id011
|
|
197
|
+
requirement: *id012
|
|
167
198
|
- !ruby/object:Gem::Dependency
|
|
199
|
+
prerelease: false
|
|
200
|
+
type: :development
|
|
168
201
|
name: do_sqlite3
|
|
169
|
-
|
|
202
|
+
version_requirements: &id013 !ruby/object:Gem::Requirement
|
|
170
203
|
none: false
|
|
171
204
|
requirements:
|
|
172
205
|
- - ">="
|
|
173
206
|
- !ruby/object:Gem::Version
|
|
207
|
+
hash: 3
|
|
174
208
|
segments:
|
|
175
209
|
- 0
|
|
176
210
|
version: "0"
|
|
177
|
-
|
|
178
|
-
prerelease: false
|
|
179
|
-
version_requirements: *id012
|
|
211
|
+
requirement: *id013
|
|
180
212
|
- !ruby/object:Gem::Dependency
|
|
213
|
+
prerelease: false
|
|
214
|
+
type: :development
|
|
181
215
|
name: database_cleaner
|
|
182
|
-
|
|
216
|
+
version_requirements: &id014 !ruby/object:Gem::Requirement
|
|
183
217
|
none: false
|
|
184
218
|
requirements:
|
|
185
219
|
- - ">="
|
|
186
220
|
- !ruby/object:Gem::Version
|
|
221
|
+
hash: 3
|
|
187
222
|
segments:
|
|
188
223
|
- 0
|
|
189
224
|
version: "0"
|
|
190
|
-
|
|
191
|
-
prerelease: false
|
|
192
|
-
version_requirements: *id013
|
|
225
|
+
requirement: *id014
|
|
193
226
|
description: |-
|
|
194
227
|
Delayed_job (or DJ) encapsulates the common pattern of asynchronously executing longer tasks in the background. It is a direct extraction from Shopify where the job table is responsible for a multitude of core tasks.
|
|
195
228
|
|
|
@@ -218,6 +251,10 @@ files:
|
|
|
218
251
|
- lib/delayed/tasks.rb
|
|
219
252
|
- lib/delayed/worker.rb
|
|
220
253
|
- lib/delayed_job.rb
|
|
254
|
+
- generators/delayed_job/delayed_job_generator.rb
|
|
255
|
+
- generators/delayed_job/templates/migration.rb
|
|
256
|
+
- generators/delayed_job/templates/script
|
|
257
|
+
- rails/init.rb
|
|
221
258
|
- recipes/delayed_job.rb
|
|
222
259
|
- spec/backend/active_record_job_spec.rb
|
|
223
260
|
- spec/backend/data_mapper_job_spec.rb
|
|
@@ -233,6 +270,7 @@ files:
|
|
|
233
270
|
- spec/spec_helper.rb
|
|
234
271
|
- spec/story_spec.rb
|
|
235
272
|
- spec/worker_spec.rb
|
|
273
|
+
- tasks/jobs.rake
|
|
236
274
|
- MIT-LICENSE
|
|
237
275
|
- README.textile
|
|
238
276
|
has_rdoc: true
|
|
@@ -252,7 +290,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
252
290
|
requirements:
|
|
253
291
|
- - ">="
|
|
254
292
|
- !ruby/object:Gem::Version
|
|
255
|
-
hash:
|
|
293
|
+
hash: 3
|
|
256
294
|
segments:
|
|
257
295
|
- 0
|
|
258
296
|
version: "0"
|
|
@@ -261,14 +299,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
261
299
|
requirements:
|
|
262
300
|
- - ">="
|
|
263
301
|
- !ruby/object:Gem::Version
|
|
264
|
-
hash:
|
|
302
|
+
hash: 3
|
|
265
303
|
segments:
|
|
266
304
|
- 0
|
|
267
305
|
version: "0"
|
|
268
306
|
requirements: []
|
|
269
307
|
|
|
270
308
|
rubyforge_project:
|
|
271
|
-
rubygems_version: 1.
|
|
309
|
+
rubygems_version: 1.5.0
|
|
272
310
|
signing_key:
|
|
273
311
|
specification_version: 3
|
|
274
312
|
summary: Database-backed asynchronous priority queue system -- Extracted from Shopify
|