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.
@@ -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
- end
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
- desc "Launch a pool of resque workers"
16
- task :pool => %w[resque:setup resque:pool:setup] do
17
- Resque::Pool.run
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
@@ -1,5 +1,5 @@
1
1
  module Resque
2
2
  class Pool
3
- VERSION = "0.3.1.dev"
3
+ VERSION = "0.3.2.dev"
4
4
  end
5
5
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: vitobotta-resque-pool
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease: 6
5
- version: 0.3.1.dev
5
+ version: 0.3.2.dev
6
6
  platform: ruby
7
7
  authors:
8
8
  - nicholas a. evans