1
我正在使用領班在本地爲我的開發環境運行我的服務器和延遲作業進程。由於delayed_job重新加載而在開發期間中止的工頭
延遲作業會自動重新加載我的代碼,如果我在代碼中出現語法錯誤,延遲作業進程正在退出並導致工頭也停止所有其他進程。這意味着如果我在開發環境中保存有錯誤的文件會停止。
從堆棧跟蹤的關鍵線(我相信):
17:22:18 delayed_jobs.1 | rake aborted!
17:22:18 delayed_jobs.1 | SyntaxError: /home/james/dev/myproject/app/helpers/icon_helper.rb:11: syntax error, unexpected end-of-input, expecting keyword_end
...
17:22:18 delayed_jobs.1 | /home/james/.rvm/gems/[email protected]/gems/actionpack-4.2.1/lib/action_dispatch/middleware/reloader.rb:55:in `prepare!'
17:22:18 delayed_jobs.1 | /home/james/.rvm/gems/[email protected]/gems/delayed_job-4.0.6/lib/delayed/worker.rb:298:in `reload!'
...
17:22:18 delayed_jobs.1 | Tasks: TOP => jobs:work
17:22:18 delayed_jobs.1 | (See full trace by running task with --trace)
17:22:18 delayed_jobs.1 | exited with code 1
17:22:18 system | sending SIGTERM to all processes
17:22:18 webserver.1 | Exiting
17:22:18 webserver.1 | terminated by SIGTERM
我知道我可以從config.cache_classes = false
重裝停止delayed_job的,但我想這是真實的,這樣我的網絡服務器重新加載每個班請求。
我會像爲delayed_job將重新加載我的課程。有沒有延遲工作嘗試重新加載但在重新加載失敗時保持運行的方法?如果沒有,是否有不同的方式來關閉延遲工作的重新加載?