这是我的命令
bundle exec rake resque:work QUEUE="*" --trace
我想在我的服务器上将此命令作为后台进程运行。
请帮我。
这是我的命令
bundle exec rake resque:work QUEUE="*" --trace
我想在我的服务器上将此命令作为后台进程运行。
请帮我。
我经常使用的一种方法是:
nohup bundle exec rake resque:work QUEUE="*" --trace > rake.out 2>&1 &
即使您退出 shell,这也将保持任务运行。然后,如果我只想实时观察跟踪输出,我会:
tail -f rake.out
您可以随时检查 rake.out。
如果需要在完成前将其杀死,可以使用ps
pid 找到并杀死它。
以防有人在 4 年后发现这一点,bundle 现在有一种优雅的方式来做到这一点。例如,如果你想在后台运行 sidekiq,你可以这样做:
bundle exec sidekiq -e production -d -L ./log/sidekiq.log
-d
守护程序在后台运行,但您还需要使用提供日志文件,否则捆绑程序将拒绝在后台运行您的-L
命令(deamonize)。使用捆绑器版本 1.15.4 测试
2019 年 10 月更新。虽然该命令通常仍然有效,但上面的特定命令将不再适用于 sidekiq 6.0+,如果您使用 Linux,则需要使用 Upstart 或 Systemd:https ://github.com/mperham/sidekiq /wiki/Deployment#running-your-own-process