delayed_job 1.8.1 → 1.8.2
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/README.textile +12 -0
- data/Rakefile +14 -2
- data/VERSION +1 -1
- data/contrib/delayed_job.monitrc +14 -0
- data/delayed_job.gemspec +9 -4
- data/lib/delayed/command.rb +1 -0
- data/lib/delayed/message_sending.rb +4 -3
- data/lib/delayed/recipes.rb +27 -0
- data/recipes/delayed_job.rb +1 -26
- metadata +6 -3
data/README.textile
CHANGED
|
@@ -44,6 +44,14 @@ script/generate delayed_job
|
|
|
44
44
|
rake db:migrate
|
|
45
45
|
</pre>
|
|
46
46
|
|
|
47
|
+
h2. Upgrading to 1.8
|
|
48
|
+
|
|
49
|
+
If you are upgrading from a previous release, you will need to generate the new @script/delayed_job@:
|
|
50
|
+
|
|
51
|
+
<pre>
|
|
52
|
+
script/generate delayed_job --skip-migration
|
|
53
|
+
</pre>
|
|
54
|
+
|
|
47
55
|
h2. Queuing Jobs
|
|
48
56
|
|
|
49
57
|
Call @#send_later(method, params)@ on any object and it will be processed in the background.
|
|
@@ -143,6 +151,10 @@ h3. Cleaning up
|
|
|
143
151
|
|
|
144
152
|
You can invoke @rake jobs:clear@ to delete all jobs in the queue.
|
|
145
153
|
|
|
154
|
+
h2. Mailing List
|
|
155
|
+
|
|
156
|
+
Join us on the mailing list at http://groups.google.com/group/delayed_job
|
|
157
|
+
|
|
146
158
|
h2. How to contribute
|
|
147
159
|
|
|
148
160
|
If you find what looks like a bug:
|
data/Rakefile
CHANGED
|
@@ -10,9 +10,9 @@ Jeweler::Tasks.new do |s|
|
|
|
10
10
|
s.name = "delayed_job"
|
|
11
11
|
s.summary = "Database-backed asynchronous priority queue system -- Extracted from Shopify"
|
|
12
12
|
s.email = "tobi@leetsoft.com"
|
|
13
|
-
s.homepage = "http://github.com/
|
|
13
|
+
s.homepage = "http://github.com/collectiveidea/delayed_job"
|
|
14
14
|
s.description = "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."
|
|
15
|
-
s.authors = ["Tobias Lütke"]
|
|
15
|
+
s.authors = ["Brandon Keepers", "Tobias Lütke"]
|
|
16
16
|
|
|
17
17
|
s.has_rdoc = true
|
|
18
18
|
s.rdoc_options = ["--main", "README.textile", "--inline-source", "--line-numbers"]
|
|
@@ -20,3 +20,15 @@ Jeweler::Tasks.new do |s|
|
|
|
20
20
|
|
|
21
21
|
s.test_files = Dir['spec/**/*']
|
|
22
22
|
end
|
|
23
|
+
|
|
24
|
+
require 'spec/rake/spectask'
|
|
25
|
+
|
|
26
|
+
task :default => :spec
|
|
27
|
+
|
|
28
|
+
desc 'Run the specs'
|
|
29
|
+
Spec::Rake::SpecTask.new(:spec) do |t|
|
|
30
|
+
t.libs << 'lib'
|
|
31
|
+
t.pattern = 'spec/**/*_spec.rb'
|
|
32
|
+
t.verbose = true
|
|
33
|
+
end
|
|
34
|
+
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.8.
|
|
1
|
+
1.8.2
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# an example Monit configuration file for delayed_job
|
|
2
|
+
# See: http://stackoverflow.com/questions/1226302/how-to-monitor-delayedjob-with-monit/1285611
|
|
3
|
+
#
|
|
4
|
+
# To use:
|
|
5
|
+
# 1. copy to /var/www/apps/{app_name}/shared/delayed_job.monitrc
|
|
6
|
+
# 2. replace {app_name} and {environment} as appropriate
|
|
7
|
+
# 3. add this to your /etc/monit/monitrc
|
|
8
|
+
#
|
|
9
|
+
# include /var/www/apps/{app_name}/shared/delayed_job.monitrc
|
|
10
|
+
|
|
11
|
+
check process delayed_job
|
|
12
|
+
with pidfile /var/www/apps/{app_name}/shared/pids/delayed_job.pid
|
|
13
|
+
start program = "/var/www/apps/{app_name}/current/script/delayed_job -e {environment} start"
|
|
14
|
+
stop program = "/var/www/apps/{app_name}/current/script/delayed_job -e {environment} stop"
|
data/delayed_job.gemspec
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
|
+
# Generated by jeweler
|
|
2
|
+
# DO NOT EDIT THIS FILE
|
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
|
|
1
4
|
# -*- encoding: utf-8 -*-
|
|
2
5
|
|
|
3
6
|
Gem::Specification.new do |s|
|
|
4
7
|
s.name = %q{delayed_job}
|
|
5
|
-
s.version = "1.8.
|
|
8
|
+
s.version = "1.8.2"
|
|
6
9
|
|
|
7
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
8
|
-
s.authors = ["Tobias L\303\274tke"]
|
|
9
|
-
s.date = %q{2009-09-
|
|
11
|
+
s.authors = ["Brandon Keepers", "Tobias L\303\274tke"]
|
|
12
|
+
s.date = %q{2009-09-22}
|
|
10
13
|
s.description = %q{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.}
|
|
11
14
|
s.email = %q{tobi@leetsoft.com}
|
|
12
15
|
s.extra_rdoc_files = [
|
|
@@ -18,6 +21,7 @@ Gem::Specification.new do |s|
|
|
|
18
21
|
"README.textile",
|
|
19
22
|
"Rakefile",
|
|
20
23
|
"VERSION",
|
|
24
|
+
"contrib/delayed_job.monitrc",
|
|
21
25
|
"delayed_job.gemspec",
|
|
22
26
|
"generators/delayed_job/delayed_job_generator.rb",
|
|
23
27
|
"generators/delayed_job/templates/migration.rb",
|
|
@@ -27,6 +31,7 @@ Gem::Specification.new do |s|
|
|
|
27
31
|
"lib/delayed/job.rb",
|
|
28
32
|
"lib/delayed/message_sending.rb",
|
|
29
33
|
"lib/delayed/performable_method.rb",
|
|
34
|
+
"lib/delayed/recipes.rb",
|
|
30
35
|
"lib/delayed/tasks.rb",
|
|
31
36
|
"lib/delayed/worker.rb",
|
|
32
37
|
"lib/delayed_job.rb",
|
|
@@ -37,7 +42,7 @@ Gem::Specification.new do |s|
|
|
|
37
42
|
"spec/story_spec.rb",
|
|
38
43
|
"tasks/jobs.rake"
|
|
39
44
|
]
|
|
40
|
-
s.homepage = %q{http://github.com/
|
|
45
|
+
s.homepage = %q{http://github.com/collectiveidea/delayed_job}
|
|
41
46
|
s.rdoc_options = ["--main", "README.textile", "--inline-source", "--line-numbers"]
|
|
42
47
|
s.require_paths = ["lib"]
|
|
43
48
|
s.rubygems_version = %q{1.3.3}
|
data/lib/delayed/command.rb
CHANGED
|
@@ -6,9 +6,10 @@ module Delayed
|
|
|
6
6
|
|
|
7
7
|
module ClassMethods
|
|
8
8
|
def handle_asynchronously(method)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
aliased_method, punctuation = method.to_s.sub(/([?!=])$/, ''), $1
|
|
10
|
+
with_method, without_method = "#{aliased_method}_with_send_later#{punctuation}", "#{aliased_method}_without_send_later#{punctuation}"
|
|
11
|
+
define_method(with_method) do |*args|
|
|
12
|
+
send_later(without_method, *args)
|
|
12
13
|
end
|
|
13
14
|
alias_method_chain method, :send_later
|
|
14
15
|
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Capistrano Recipes for managing delayed_job
|
|
2
|
+
#
|
|
3
|
+
# Add these callbacks to have the delayed_job process restart when the server
|
|
4
|
+
# is restarted:
|
|
5
|
+
#
|
|
6
|
+
# after "deploy:stop", "delayed_job:stop"
|
|
7
|
+
# after "deploy:start", "delayed_job:start"
|
|
8
|
+
# after "deploy:restart", "delayed_job:restart"
|
|
9
|
+
|
|
10
|
+
Capistrano::Configuration.instance.load do
|
|
11
|
+
namespace :delayed_job do
|
|
12
|
+
desc "Stop the delayed_job process"
|
|
13
|
+
task :stop, :roles => :app do
|
|
14
|
+
run "cd #{current_path}; RAILS_ENV=#{rails_env} script/delayed_job stop"
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
desc "Start the delayed_job process"
|
|
18
|
+
task :start, :roles => :app do
|
|
19
|
+
run "cd #{current_path}; RAILS_ENV=#{rails_env} script/delayed_job start"
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
desc "Restart the delayed_job process"
|
|
23
|
+
task :restart, :roles => :app do
|
|
24
|
+
run "cd #{current_path}; RAILS_ENV=#{rails_env} script/delayed_job restart"
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
data/recipes/delayed_job.rb
CHANGED
|
@@ -1,26 +1 @@
|
|
|
1
|
-
|
|
2
|
-
#
|
|
3
|
-
# Add these callbacks to have the delayed_job process restart when the server
|
|
4
|
-
# is restarted:
|
|
5
|
-
#
|
|
6
|
-
# after "deploy:stop", "delayed_job:stop"
|
|
7
|
-
# after "deploy:start", "delayed_job:start"
|
|
8
|
-
# after "deploy:restart", "delayed_job:restart"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
namespace :delayed_job do
|
|
12
|
-
desc "Stop the delayed_job process"
|
|
13
|
-
task :stop, :roles => :app do
|
|
14
|
-
run "cd #{current_path}; script/delayed_job -e #{rails_env} stop"
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
desc "Start the delayed_job process"
|
|
18
|
-
task :start, :roles => :app do
|
|
19
|
-
run "cd #{current_path}; script/delayed_job -e #{rails_env} start"
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
desc "Restart the delayed_job process"
|
|
23
|
-
task :restart, :roles => :app do
|
|
24
|
-
run "cd #{current_path}; script/delayed_job -e #{rails_env} restart"
|
|
25
|
-
end
|
|
26
|
-
end
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'delayed', 'recipes'))
|
metadata
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: delayed_job
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.8.
|
|
4
|
+
version: 1.8.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
+
- Brandon Keepers
|
|
7
8
|
- "Tobias L\xC3\xBCtke"
|
|
8
9
|
autorequire:
|
|
9
10
|
bindir: bin
|
|
10
11
|
cert_chain: []
|
|
11
12
|
|
|
12
|
-
date: 2009-09-
|
|
13
|
+
date: 2009-09-22 00:00:00 -04:00
|
|
13
14
|
default_executable:
|
|
14
15
|
dependencies: []
|
|
15
16
|
|
|
@@ -27,6 +28,7 @@ files:
|
|
|
27
28
|
- README.textile
|
|
28
29
|
- Rakefile
|
|
29
30
|
- VERSION
|
|
31
|
+
- contrib/delayed_job.monitrc
|
|
30
32
|
- delayed_job.gemspec
|
|
31
33
|
- generators/delayed_job/delayed_job_generator.rb
|
|
32
34
|
- generators/delayed_job/templates/migration.rb
|
|
@@ -36,6 +38,7 @@ files:
|
|
|
36
38
|
- lib/delayed/job.rb
|
|
37
39
|
- lib/delayed/message_sending.rb
|
|
38
40
|
- lib/delayed/performable_method.rb
|
|
41
|
+
- lib/delayed/recipes.rb
|
|
39
42
|
- lib/delayed/tasks.rb
|
|
40
43
|
- lib/delayed/worker.rb
|
|
41
44
|
- lib/delayed_job.rb
|
|
@@ -46,7 +49,7 @@ files:
|
|
|
46
49
|
- spec/story_spec.rb
|
|
47
50
|
- tasks/jobs.rake
|
|
48
51
|
has_rdoc: true
|
|
49
|
-
homepage: http://github.com/
|
|
52
|
+
homepage: http://github.com/collectiveidea/delayed_job
|
|
50
53
|
licenses: []
|
|
51
54
|
|
|
52
55
|
post_install_message:
|