vitobotta-resque-pool 0.3.1.dev → 0.3.2.dev

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.
@@ -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