我有一个写在ruby上的报废脚本,在一个工作器dyno里面的heroku上运行。即使脚本运行顺利并以状态0退出,heroku仍然告诉我dyno崩溃了:
2016-12-13T00:59:10.695566+00:00 heroku[spider.1]: State changed from up to crashed
2016-12-13T00:59:10.683166+00:00 heroku[spider.1]: Process exited with status 0
当脚本结束时,我该怎么做才能使dyno正确停止?
感谢。
答案 0 :(得分:2)
heroku run
运行,例如heroku run -r production scrape
。heroku run -r production scrape
。这应该是一个很好的起点。您需要处理一些极端情况,例如确保一次只能运行一次刮擦(如果这是您的要求)。
答案 1 :(得分:0)
根据heroku's documentation判断,你不能。如果dyno停止,它会被视为压碎。
dyno“crash”表示源自该进程的任何事件 在dyno中运行导致dyno停止。那包括 进程以退出代码0(或任何其他退出代码)退出
答案 2 :(得分:0)
我还相信您可以在代码中通过Heroku API停止dyno。有关更多信息,请参见https://devcenter.heroku.com/articles/platform-api-reference#dyno-stop。