django-crontab 定時執(zhí)行任務(wù)方法

一、前期工作:

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)用

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容