我已经完全按照文档中的描述在 EC2 服务器上安装了 scrapyd 守护程序。现在我已经更改了/etc/scrapyd/conf.d/000-default
.
我如何让 scrapyd 识别这些变化?我认为它涉及重新启动守护程序,但我找不到任何关于如何这样做的好的指导。
一个复杂的因素:我有一堆爬虫在排队,我不想失去它们。我认为scrapy 知道如何优雅地退出和恢复它们,但是这个功能没有很好的记录。有什么指导吗?
Debian/Ubuntu:
sudo /etc/init.d/scrapyd restart
如果你在 Ubuntu 或 Debian 机器上通过 apt 安装了 scrapyd,以下应该可以工作:
sudo service scrapyd reload
然而,我不知道它是否会持续你预定的蜘蛛运行。
事实证明这很简单。
像这样杀死进程:
kill -INT $(cat /var/run/scrapyd.pid)
然后像这样重新启动它:
/usr/bin/python /usr/local/bin/twistd -ny /usr/share/scrapyd/scrapyd.tac -u scrapy -g nogroup --pidfile /var/run/scrapyd.pid -l /var/log/scrapyd/scrapyd.log &
据我所知,这两个命令都需要以 root 身份运行。