vitobotta-resque-pool 0.3.1.dev → 0.3.2.dev
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/resque/pool/tasks.rb +35 -6
- data/lib/resque/pool/version.rb +1 -1
- metadata +1 -1
data/lib/resque/pool/tasks.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
require 'resque/tasks'
|
3
3
|
require 'resque/pool'
|
4
|
+
require 'resque/pool/cli'
|
4
5
|
|
5
6
|
namespace :resque do
|
6
7
|
|
@@ -9,12 +10,40 @@ namespace :resque do
|
|
9
10
|
|
10
11
|
namespace :pool do
|
11
12
|
# resque pool config. e.g. after_prefork connection handling
|
12
|
-
task :setup
|
13
|
-
|
13
|
+
task :setup do
|
14
|
+
@opts = {:daemon => true}
|
15
|
+
@opts[:stdout] ||= "log/resque-pool.stdout.log"
|
16
|
+
@opts[:stderr] ||= "log/resque-pool.stderr.log"
|
17
|
+
@opts[:pidfile] ||= "tmp/pids/resque-pool.pid"
|
18
|
+
|
19
|
+
if defined?(Rails)
|
20
|
+
Rake::Task[:environment].invoke
|
21
|
+
elsif defined?(Sinatra)
|
22
|
+
Sinatra::Application.environment = ENV['RACK_ENV']
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
desc "Launch a pool of resque workers"
|
27
|
+
task :start => %w[resque:setup resque:pool:setup] do
|
28
|
+
if defined?(Rails)
|
29
|
+
@opts.merge!(:environment => Rails.env)
|
30
|
+
elsif defined?(Sinatra)
|
31
|
+
@opts.merge!(:environment => ENV['RACK_ENV'])
|
32
|
+
end
|
33
|
+
|
34
|
+
Resque::Pool::CLI.run(@opts)
|
35
|
+
end
|
14
36
|
|
15
|
-
|
16
|
-
|
17
|
-
|
37
|
+
desc "Stop a pool of resque workers"
|
38
|
+
task :stop => %w[resque:setup resque:pool:setup] do
|
39
|
+
if File.exists?(@opts[:pidfile])
|
40
|
+
pid = File.open(@opts[:pidfile]).read
|
41
|
+
Process.kill :QUIT, pid.to_i
|
42
|
+
puts "Stopped resque pool (pid #{pid})."
|
43
|
+
else
|
44
|
+
puts "resque-pool is not running"
|
45
|
+
end
|
46
|
+
end
|
18
47
|
end
|
19
48
|
|
20
|
-
end
|
49
|
+
end
|
data/lib/resque/pool/version.rb
CHANGED