capistrano-resque 0.0.3 → 0.0.4
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/Gemfile.lock +3 -3
- data/README.md +21 -4
- data/lib/capistrano-resque/capistrano_integration.rb +12 -9
- data/lib/capistrano-resque/version.rb +1 -1
- metadata +4 -4
data/Gemfile.lock
CHANGED
@@ -12,7 +12,7 @@ GIT
|
|
12
12
|
PATH
|
13
13
|
remote: .
|
14
14
|
specs:
|
15
|
-
capistrano-resque (0.0.
|
15
|
+
capistrano-resque (0.0.4)
|
16
16
|
capistrano
|
17
17
|
|
18
18
|
GEM
|
@@ -24,13 +24,13 @@ GEM
|
|
24
24
|
net-sftp (>= 2.0.0)
|
25
25
|
net-ssh (>= 2.0.14)
|
26
26
|
net-ssh-gateway (>= 1.1.0)
|
27
|
-
highline (1.6.
|
27
|
+
highline (1.6.13)
|
28
28
|
multi_json (1.3.4)
|
29
29
|
net-scp (1.0.4)
|
30
30
|
net-ssh (>= 1.99.1)
|
31
31
|
net-sftp (2.0.5)
|
32
32
|
net-ssh (>= 2.0.9)
|
33
|
-
net-ssh (2.
|
33
|
+
net-ssh (2.5.2)
|
34
34
|
net-ssh-gateway (1.1.0)
|
35
35
|
net-ssh (>= 1.99.1)
|
36
36
|
rack (1.4.1)
|
data/README.md
CHANGED
@@ -11,11 +11,25 @@ require "capistrano-resque"
|
|
11
11
|
### In your deploy.rb:
|
12
12
|
|
13
13
|
```
|
14
|
-
set :
|
15
|
-
set :num_of_queues, 2
|
14
|
+
set :workers, { "my_queue_name" => 2 }
|
16
15
|
```
|
17
16
|
|
18
|
-
|
17
|
+
You can also specify multiple queues and the number of workers
|
18
|
+
for each queue:
|
19
|
+
|
20
|
+
```
|
21
|
+
set :workers, { "archive" => 1, "mailing" => 3, "search_index, cache_warming" => 1 }
|
22
|
+
```
|
23
|
+
|
24
|
+
The above will start five workers in total:
|
25
|
+
|
26
|
+
* one listening on the `archive` queue
|
27
|
+
* one listening on the `search_index, cache_warming` queue
|
28
|
+
* three listening on the `mailing` queue
|
29
|
+
|
30
|
+
### The tasks
|
31
|
+
|
32
|
+
Running cap -vT | grep resque should give you...
|
19
33
|
|
20
34
|
```
|
21
35
|
➔ cap -vT | grep resque
|
@@ -24,7 +38,7 @@ cap resque:stop # Quit running Resque workers
|
|
24
38
|
cap resque:restart # Restart running Resque workers
|
25
39
|
```
|
26
40
|
|
27
|
-
### Restart on
|
41
|
+
### Restart on deployment
|
28
42
|
|
29
43
|
To restart you workers automatically when `cap deploy:restart` is executed
|
30
44
|
add the following line to your `deploy.rb`:
|
@@ -33,3 +47,6 @@ add the following line to your `deploy.rb`:
|
|
33
47
|
after "deploy:restart", "resque:restart"
|
34
48
|
```
|
35
49
|
|
50
|
+
## Logging
|
51
|
+
|
52
|
+
Currently, resque doesn't log to a logfile. I'm using the 'logfile' branch of http://github.com/sj26/resque in my consuming Gemfile to achieve this functionality. Hopefully that will get merged into defunkt/resque soon.
|
@@ -6,8 +6,7 @@ module CapistranoResque
|
|
6
6
|
def self.load_into(capistrano_config)
|
7
7
|
capistrano_config.load do
|
8
8
|
|
9
|
-
_cset(:
|
10
|
-
_cset(:queue_name, "*")
|
9
|
+
_cset(:workers, {"*" => 1})
|
11
10
|
_cset(:app_env, (fetch(:rails_env) rescue "production"))
|
12
11
|
_cset(:verbosity, 1)
|
13
12
|
|
@@ -20,7 +19,7 @@ module CapistranoResque
|
|
20
19
|
end
|
21
20
|
|
22
21
|
def current_pids
|
23
|
-
capture("ls #{current_path}/tmp/pids/resque_work*.pid").strip.split(/\r{0,1}\n/)
|
22
|
+
capture("ls #{current_path}/tmp/pids/resque_work*.pid 2>/dev/null || true").strip.split(/\r{0,1}\n/)
|
24
23
|
end
|
25
24
|
|
26
25
|
namespace :resque do
|
@@ -39,12 +38,16 @@ module CapistranoResque
|
|
39
38
|
|
40
39
|
desc "Start Resque workers"
|
41
40
|
task :start do
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
41
|
+
worker_id = 1
|
42
|
+
workers.each_pair do |queue, number_of_workers|
|
43
|
+
puts "Starting #{number_of_workers} worker(s) with QUEUE: #{queue}"
|
44
|
+
number_of_workers.times do
|
45
|
+
pid = "./tmp/pids/resque_worker_#{worker_id}.pid"
|
46
|
+
run "cd #{current_path} && RAILS_ENV=#{app_env} QUEUE=\"#{queue}\" \
|
47
|
+
PIDFILE=#{pid} BACKGROUND=yes LOGFILE=./log/resque-worker#{worker_id}.log VVERBOSE=#{verbosity} \
|
48
|
+
bundle exec rake environment resque:work"
|
49
|
+
worker_id += 1
|
50
|
+
end
|
48
51
|
end
|
49
52
|
end
|
50
53
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-resque
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 4
|
10
|
+
version: 0.0.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Steven Shingler
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-06-
|
18
|
+
date: 2012-06-24 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: capistrano
|