django crontab定時任務

2021-07-06 10:56:58 字數 1386 閱讀 7459

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關於函式的配置如下:

cronjobs =(

# 初級模式

('*/5 * * * *',),

# 中級模式

('0 0 1 * *',,

'> /tmp/last_scheduled_job.log'

),#高階模式

('0 0 * * 0'

,'django.core.management.call_command',[

'dumpdata'

,'auth'],,

'> /home/john/backups/last_sunday_auth_backup.json'

),)

分析結果:

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 可以看到生成的定時任務

Django crontab 定時任務

對於首頁的靜態化,考慮到頁面的資料可能由多名運營人員維護,並且經常變動,所以將其做成定時任務,即定時執行靜態化。在django執行定時任務,可以通過django crontab擴充套件來實現。pip install django crontab.django crontab 定時任務 在配置檔案中設...

Django crontab 定時執行任務

由於看到celery 外掛程式學習曲線較大,這個小的需求就使用django crontab 解決。pip install django crontab django crontab 到這裡基本沒有問題,接下來建立定時任務可以分成兩種,一種是執行自定義的mange.py的命令,另一種是執行自定義函式。...

Django crontab 的安裝與使用

django crontab是能讓 在後台自動執行定時任務的包,具體的文件在github上已經十分齊備,我只在它的基礎上進行補充說明。django crontab只能在linux下使用,詳情見部落格 pip install django crontab用pycharm的可以直接在file setti...