一、前期工作:
1、安裝django-crontab
pip install django-crontab
2、添加app名稱到 settings.py配置文件中
INSTALLED_APPS = (
'django_crontab',
...
)
二、布置定時任務(wù)
django-crontab定時任務(wù)可以分成兩種,一種是執(zhí)行自定義的mange.py的命令,另一種是執(zhí)行自定義函數(shù)。
方式一:自定義函數(shù)方式
1、定義定時任務(wù)函數(shù)
def test():
print 123
#你要執(zhí)行的任務(wù)函數(shù)
2、在 settings.py中的最后增加指定參數(shù)
CRONJOBS = [
('*/5 * * * *','你的app名.定時函數(shù)所在的py文件名.定時函數(shù)名','>>輸出文件路徑和名稱')
]
#如果你有多個定時任務(wù),都放入CORJOBS中即可
#‘>>/home/test.log’,通常會輸出信息到一個文件中,
#就使用這個方法,注意的是‘>>’表示追加寫入,’>’表示覆蓋寫入。
===========================================================
crontab的定時書寫格式:
f1 f2 f3 f4 f5
分 時 日 月 周
第一列f1代表分鐘1~59:
當(dāng)f1為*表示每分鐘都要執(zhí)行;
為*/n表示每n分鐘執(zhí)行一次;
為[a-b]表示從第a分鐘到第b分鐘這段時間要執(zhí)行;
為a,b,c,...表示第a,b,c分鐘要執(zhí)行
第二列f2代表小時0~23(0表示凌晨):
當(dāng)f2為*表示每小時都要執(zhí)行;
為*/n表示每n小數(shù)執(zhí)行一次;
為a-b表示從第a小時到第b小時這段時間要執(zhí)行;
為a,b,c,...表示第a,b,c小時要執(zhí)行
第三列f3代表日1~31:含義如上所示,以此類推
第四列f4代表月1~12:含義如上所示,以此類推
第五列f5代表星期0~6(0表示星期天)
============================================================
三、啟動定時任務(wù)
以上都完成后,需要執(zhí)行一下命令
- 將任務(wù)添加并生效
python manage.py crontab add - 顯示當(dāng)前的定時任務(wù)
python manage.py crontab show - 刪除所有定時任務(wù)
python manage.py crontab remove - 重啟django服務(wù)
- 執(zhí)行定時任務(wù)
corntab -e
這樣就可以看到系統(tǒng)中創(chuàng)建了該定時任務(wù)。 說到底,只是django-crontab插件對linux底層的調(diào)用