Commit 5cd823847b37c66d521545180c81d9a92ca0ab57
1 parent
3b1519da
Exists in
master
and in
4 other branches
Use gitlab resque fork. Added rake task to stop all workers
Showing
3 changed files
with
29 additions
and
14 deletions
Show diff stats
Gemfile
| @@ -77,7 +77,7 @@ gem "acts-as-taggable-on", "2.3.3" | @@ -77,7 +77,7 @@ gem "acts-as-taggable-on", "2.3.3" | ||
| 77 | gem "draper", "~> 0.18.0" | 77 | gem "draper", "~> 0.18.0" |
| 78 | 78 | ||
| 79 | # Background jobs | 79 | # Background jobs |
| 80 | -gem "resque", git: "https://github.com/defunkt/resque.git", ref: "9ef4700306dd946a3ac000612428967ce0c32213" | 80 | +gem "resque", git: "https://github.com/gitlabhq/resque.git", ref: "9ef4700306dd946a3ac000612428967ce0c32213" |
| 81 | gem 'resque_mailer' | 81 | gem 'resque_mailer' |
| 82 | 82 | ||
| 83 | # HTTP requests | 83 | # HTTP requests |
Gemfile.lock
| @@ -14,17 +14,6 @@ GIT | @@ -14,17 +14,6 @@ GIT | ||
| 14 | rake (>= 0.8.7) | 14 | rake (>= 0.8.7) |
| 15 | 15 | ||
| 16 | GIT | 16 | GIT |
| 17 | - remote: https://github.com/defunkt/resque.git | ||
| 18 | - revision: 9ef4700306dd946a3ac000612428967ce0c32213 | ||
| 19 | - ref: 9ef4700306dd946a3ac000612428967ce0c32213 | ||
| 20 | - specs: | ||
| 21 | - resque (2.0.0.pre.1) | ||
| 22 | - json | ||
| 23 | - redis-namespace (~> 1.0) | ||
| 24 | - sinatra (>= 0.9.2) | ||
| 25 | - vegas (~> 0.1.2) | ||
| 26 | - | ||
| 27 | -GIT | ||
| 28 | remote: https://github.com/gitlabhq/grack.git | 17 | remote: https://github.com/gitlabhq/grack.git |
| 29 | revision: ba46f3b0845c6a09d488ae6abdce6ede37e227e8 | 18 | revision: ba46f3b0845c6a09d488ae6abdce6ede37e227e8 |
| 30 | ref: ba46f3b0845c6a09d488ae6abdce6ede37e227e8 | 19 | ref: ba46f3b0845c6a09d488ae6abdce6ede37e227e8 |
| @@ -71,6 +60,17 @@ GIT | @@ -71,6 +60,17 @@ GIT | ||
| 71 | yajl-ruby (~> 1.1.0) | 60 | yajl-ruby (~> 1.1.0) |
| 72 | 61 | ||
| 73 | GIT | 62 | GIT |
| 63 | + remote: https://github.com/gitlabhq/resque.git | ||
| 64 | + revision: 9ef4700306dd946a3ac000612428967ce0c32213 | ||
| 65 | + ref: 9ef4700306dd946a3ac000612428967ce0c32213 | ||
| 66 | + specs: | ||
| 67 | + resque (2.0.0.pre.1) | ||
| 68 | + json | ||
| 69 | + redis-namespace (~> 1.0) | ||
| 70 | + sinatra (>= 0.9.2) | ||
| 71 | + vegas (~> 0.1.2) | ||
| 72 | + | ||
| 73 | +GIT | ||
| 74 | remote: https://github.com/gitlabhq/yaml_db.git | 74 | remote: https://github.com/gitlabhq/yaml_db.git |
| 75 | revision: 98e9a5dca43e3fedd3268c76a73af40d1bdf1dfd | 75 | revision: 98e9a5dca43e3fedd3268c76a73af40d1bdf1dfd |
| 76 | ref: 98e9a5dca43e3fedd3268c76a73af40d1bdf1dfd | 76 | ref: 98e9a5dca43e3fedd3268c76a73af40d1bdf1dfd |
lib/tasks/resque.rake
| 1 | require 'resque/tasks' | 1 | require 'resque/tasks' |
| 2 | 2 | ||
| 3 | -task "resque:setup" => :environment do | ||
| 4 | - Resque.before_fork = Proc.new { ActiveRecord::Base.establish_connection } | 3 | +namespace :resque do |
| 4 | + task setup: :environment do | ||
| 5 | + Resque.before_fork = Proc.new { ActiveRecord::Base.establish_connection } | ||
| 6 | + end | ||
| 7 | + | ||
| 8 | + desc "Resque | kill all workers (using -QUIT), god will take care of them" | ||
| 9 | + task :stop_workers => :environment do | ||
| 10 | + pids = Array.new | ||
| 11 | + | ||
| 12 | + Resque.workers.each do |worker| | ||
| 13 | + pids << worker.to_s.split(/:/).second | ||
| 14 | + end | ||
| 15 | + | ||
| 16 | + if pids.size > 0 | ||
| 17 | + system("kill -QUIT #{pids.join(' ')}") | ||
| 18 | + end | ||
| 19 | + end | ||
| 5 | end | 20 | end |
| 6 | 21 | ||
| 7 | desc "Alias for resque:work (To run workers on Heroku)" | 22 | desc "Alias for resque:work (To run workers on Heroku)" |