我在Heroku上运行了一个scrapy scraper。我想在完成后立即重启刮刀。实现这一目标的最佳方法是什么?
相关:Heroku会自动检测到您的进程已停止运行并自动关闭dyno吗?或者dyno只是坐在那里什么都不做?
相关#2:你可以在它退出之前从你的刮刀中调用python脚本/程序,然后该脚本可以等待5秒然后执行
scrapy runspider myspider
那会有用吗?大概是试图执行
scrapy runspider myspider
来自 蜘蛛本身会导致宇宙内爆或某事(可能是扭曲的错误)?
答案 0 :(得分:0)
以下代码重复运行一个蜘蛛,在完成后使用subprocess
重新运行它。假设此代码位于名为myScript.py
import subprocess
while True:
subprocess.call(["scrapy", "runspider", "myspider.py"])
procfile应引用该脚本而不是实际的scraper,如下所示:
myHerokuScrapingProcess: python myScript.py
我仍然不知道如何重新启动实际的dyno。