簡體   English   中英

我應該為 python 爬蟲使用無限循環還是 cron 作業?

[英]Should I use an infinite loop or a cron job for a python crawler?

我在 python 中編寫了一個爬蟲,它遍歷 60 個網站,解析 HTML,並將數據保存到數據庫。

現在我正在使用 cron 作業每 15 分鍾運行一次爬蟲。 問題是我無法知道爬蟲完成需要多少時間(有時可能需要超過 15 分鍾),如果一個爬蟲已經在運行,我不想運行另一個爬蟲。

我一直在想我是否會更好地使用無限循環並使爬蟲成為一個始終運行的永久進程(但是我如何確保爬蟲不會失敗並退出?以及如何在每次退出時重新啟動它?) .

哪個效率更高? 無限循環或cron作業?

您可以嘗試simple_scheduler 使用周期為 20 分鍾的循環調度程序 [假設 20 分鍾是最長的時間]。

from simple_scheduler.recurring import recurring_scheduler
recurring_scheduler.add_job(target=crawler_function, period_in_seconds=20*60)
recurring_scheduler.run()

優點是:

  • 每 20 分鍾后,將實例化另一個爬蟲。
  • 如果發生錯誤,以后對爬蟲的調用不會受到影響。 代碼仍然運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM