嘗試添加包含下列兩個命令來替換你的部署腳本的兩個命令:
run "cd #{current_path};RAILS_ENV=#{rails_env} script/delayed_job -p #{rails_env} -i 1 --queue=fast start >> ./log/delayed_job.fast.production.log 2>&1"
run "cd #{current_path};RAILS_ENV=#{rails_env} script/delayed_job -p #{rails_env} -i 2 start >> ./log/delayed_job.production.log 2>&1"
我加>> ./log/delayed_job.fast.production.log 2>&1
到的第一個命令的結束和>> ./log/delayed_job.production.log 2>&1
到第二個命令的結束。這些添加的部分將採用delayed_job命令的輸出並將stdout和stderr重定向到每個日誌文件。輸出可能不會立即寫入文件,可能是因爲文件寫入存在某種緩衝區。
如果您所要的輸出也不斷地出現在屏幕上,以及被記錄到文件,然後你可以使用tee
命令:
run "cd #{current_path};RAILS_ENV=#{rails_env} script/delayed_job -p #{rails_env} -i 1 --queue=fast start | tee -a ./log/delayed_job.fast.production.log 2>&1"
run "cd #{current_path};RAILS_ENV=#{rails_env} script/delayed_job -p #{rails_env} -i 2 start | tee -a ./log/delayed_job.production.log 2>&1"
好吧,謝謝你的賞金。對不起,我的解決方案沒有幫助,但很好的工作反正它! – jvperrin