[英]Restart Python with threading or crontab
我編寫了一個對新聞文章進行爬網和聚集的功能。 我希望此功能每10分鍾重新啟動一次,以獲取最新文章。 我在線程模塊的幫助下編寫了一個Python腳本:
import threading
def run():
do_it()
if not END:
threading.Timer(600.0, run).start()
END = False
threading.Timer(600.0, do_it).start()
它與Python IDLE一起正常工作。 現在,我在不同的論壇中看到為此目的提到了“ crontab”。 由於我打算將此應用程序托管在Web上,並且由於我沒有Web開發/托管的經驗,因此您對我有何建議:繼續使用先前的代碼或嘗試使用“ crontab”功能來實現? 我正在使用Django框架。
在這種情況下,使用Django並不是真的有效。 如果要使用cron腳本,則將希望它獨立於Web服務器運行(您不希望Web Server在完成腳本后結束)。 另外,您可以通過此方法啟動對已運行的Django實例的GET或POST請求。
首先在基於unix的os或mac中的提示符下鍵入crontab -e
。 (因為您提到了crontab,所以我假設您不使用Windows)
這將允許您為登錄用戶編輯文件。 這是您要鍵入以獲取do_it.py文件每10分鍾運行一次的行。
*/10 * * * * do_it.py
有關更多信息,請在提示符下鍵入man 5 crontab
。 您可能要進行的其他修改是在命令前加上sudo
字樣,從而可以更改root的crontab。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.