用 capistrano 启动 delayed_job 任务的时候,无法起作用,可能和 ssh 登陆的 交互模式有关。网上搜了下,有说 执行 run 的方法中加 :pty => true 的。我试了 都没有作用。
task :restart_delayed_job do
#原来是想通过执行文件来重新启动的,没有效果
# run("cd #{release_path} && chmod +x script/restart_delayed_job", :pty => true)
# run("cd #{release_path} && ./script/restart_delayed_job", :pty => true)
# 用了 pty 也没用
run("cd #{release_path} ; nohup rake jobs:work > log/delayed_job.log 2>&1 &", :pty => true)
end
你们的这种部署是怎么写的呢?