django crontab執行定時任務

2022-09-23 03:51:58 字數 1016 閱讀 8248

最 近在用django寫一下**,要寫一下定時任務,djcelery比較複雜,就使用了django-crontab

摘自:django-crontab可以定時執行自定義命令和函式兩種方式,因為之前嘗試用command+crontab時已經實現了自定義command,所以自然而然使用了自定義命令這種形式。

我先參考django官方文件自定義了一個命令aizhan_5domain_visits,專門用於抓取愛站流量,並將結果儲存在sqlite3資料庫中(具體步驟在本文中不贅述了)。

其次,我在settings.py

中加入了django-crontab的命令:

cronjobs =[('47 11 * * *','django.core.management.call_command',['aizhan_5domain_visits']),]

意思就是每天11點47分執行aizhan_5domain_visits這個命令。接下來就剩最後一步任務載入了。

django-crontab也可以定時執行函式,只是在cronjobs配置時有差別。cronjobs關於函式的配置如下:

分析結果:

django-crontab任務載入比較簡單,只需要執行python manage.py crontab add

即可。如果你執行crontab -e

可以看到crontab中多了一行:

***/home/aizhan/bin/python /home/aizhan/aizhan/manage.py crontab run c27d1050fb7f87225bcff587ef5a35a3   # django-cronjobs for aizhan

這是django-crontab自動生成的。

通過crontab -l 可以看到生成的定時任務