Guest User

Untitled

a guest
May 21st, 2018
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. #
  2. # NOTICE: The stop/restart tasks won't work properly due to a bug in the daemons gem
  3. # unless you use the ghazel-daemons gem by putting this in your environment.rb file:
  4. #
  5. # config.gem "ghazel-daemons", :lib => "daemons"
  6. # gem "ghazel-daemons"
  7. # require "daemons"
  8. #
  9. # This will force-load the 'ghazel-daemons' gem and make sure it's used instead of
  10. # the 'daemons' gem. It works even with the 'daemons' gem installed, so you won't
  11. # have any dependency issues with gems that specifically depend upon daemons.
  12. #
  13.  
  14.  
  15. after "deploy:start", "dj:start"
  16. after "deploy:stop", "dj:stop"
  17.  
  18. before "deploy:update_code", "dj:stop"
  19. after "deploy:restart", "dj:restart"
  20.  
  21. # delayed_job
  22. namespace :dj do
  23.  
  24. desc "Start delayed_job daemon."
  25. task :start, :roles => :app do
  26. run "if [ -d #{current_path} ]; then cd #{current_path} && sudo RAILS_ENV=#{rails_env} script/delayed_job start; fi"
  27. end
  28.  
  29. desc "Stop delayed_job daemon."
  30. task :stop, :roles => :app do
  31. run "if [ -d #{current_path} ]; then cd #{current_path} && sudo RAILS_ENV=#{rails_env} script/delayed_job stop; fi"
  32. end
  33.  
  34. desc "Restart delayed_job daemon."
  35. task :restart, :roles => :app do
  36. run "if [ -d #{current_path} ]; then cd #{current_path} && sudo RAILS_ENV=#{rails_env} script/delayed_job restart; fi"
  37. end
  38.  
  39. desc "Show delayed_job daemon status."
  40. task :status, :roles => :app do
  41. run "if [ -d #{current_path} ]; then cd #{current_path} && sudo RAILS_ENV=#{rails_env} script/delayed_job status; fi"
  42. end
  43.  
  44. desc "List the PIDs of all running delayed_job daemons."
  45. task :pids, :roles => :app do
  46. run "sudo lsof | grep '#{deploy_to}/shared/log/delayed_job.log' | cut -c 1-21 | uniq | awk '/^ruby/ {if(NR > 0){system(\"echo \" $2)}}'"
  47. end
  48.  
  49. desc "Kill all running delayed_job daemons."
  50. task :kill, :roles => :app do
  51. run "sudo lsof | grep '#{deploy_to}/shared/log/delayed_job.log' | cut -c 1-21 | uniq | awk '/^ruby/ {if(NR > 0){system(\"kill -9 \" $2)}}'"
  52. run "if [-d #{current_path} ]; then cd #{current_path} && sudo RAILS_ENV=#{rails_env} script/delayed_job stop; fi" # removes orphaned pid file(s)
  53. end
  54.  
  55. end
Add Comment
Please, Sign In to add comment