【发布时间】:2014-07-23 14:14:54
【问题描述】:
我想用 capistrano 开始 sidekiq。下面是代码
namespace :sidekiq do
task :start do
run "cd #{current_path} && bundle exec sidekiq -c 10 -e production -L log/sidekiq.log &"
p capture("ps aux | grep sidekiq | awk '{print $2}' | sed -n 1p").strip!
end
end
执行成功,但是sidekiq仍然没有在服务器上启动。
输出:
$ cap sidekiq:start
triggering load callbacks
* 2014-06-03 15:03:01 executing `sidekiq:start'
* executing "cd /home/project/current && bundle exec sidekiq -c 10 -e production -L log/sidekiq.log &"
servers: ["x.x.x.x"]
[x.x.x.x] executing command
command finished in 1229ms
* executing "ps aux | grep sidekiq | awk '{print $2}' | sed -n 1p"
servers: ["x.x.x.x"]
[x.x.x.x] executing command
command finished in 1229ms
"19291"
【问题讨论】:
-
那么你是如何杀死之前的sidekiq进程的呢?
-
sidekiq_process_id = capture("ps aux | grep sidekiq | awk '{print $2}' | sed -n 1p").strip!;运行 "kill -15 #{sidekiq_process_id}" 并成功杀死:)
-
为什么不使用现有的 gem? github.com/seuros/capistrano-sidekiq
-
我不想要单行代码的 gem。
-
@sagarjunnarkar - 它会让你的生活更轻松。无论如何,
log/sidekiq.log中有任何有趣的事情。上次我遇到类似问题时,它似乎可以正确启动,然后就崩溃了。
标签: ruby ruby-on-rails-3 capistrano sidekiq