gpt4 book ai didi

python - Scrapy - 如何检查蜘蛛是否正在运行

转载 作者:行者123 更新时间:2023-11-28 18:14:56 25 4
gpt4 key购买 nike

我有一个 Scrapy 蜘蛛,我使用 bash 脚本和 crontab 每小时运行一次。

蜘蛛的运行时间约为 50 分钟,但也可能超过一个小时。

我想要的是检查蜘蛛是否正在运行,如果没有,则开始新的爬行。

BASH 脚本

#!/usr/bin/env bash

source /home/milano/.virtualenvs/keywords_search/bin/activate
cd /home/milano/PycharmProjects/keywords_search/bot

# HERE I WANT TO CHECK, WHETHER THE PREVIOUS CRAWLING ALREADY STOPPED, IF NOT, DO NOTHING

scrapy crawl main_spider

我唯一想到的就是使用telnet

如果它可以连接 - telnet localhost 6023,这意味着 spider 仍在运行,否则我可以运行 spider。

最佳答案

您需要某种锁定机制。

从 bash 获得原子锁的最佳方法是使用 mkdir 并检查结果代码以了解您是否获得了锁。

这里有更深入的解释:http://wiki.bash-hackers.org/howto/mutex

当然,您总是可以使用更脏的方法,例如进程名称上的 grep 或类似的东西。

你也可以锁定 scrapy 本身,为共享资源添加一个简单的中间件检查......有很多方法可以做到:)

关于python - Scrapy - 如何检查蜘蛛是否正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48917312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com