1. 程式人生 > >django中使用第三方包實現定時任務

django中使用第三方包實現定時任務

# 轉載請留言聯絡

在做主頁靜態化的時候,需要定時生成主頁HTML,以保持資料的最新。

定時任務可以用第三方包django-crontab來實現。

附上官方文件:https://pypi.org/project/django-crontab/

下面是一些基本使用:

  • 安裝

pip install django-crontab

 

  • 新增應用

INSTALLED_APPS = [
        ...
        'django_crontab',  # 定時任務
        ...
    ]

 

  • 設定檔案中進行配置

CRONJOBS = [
    # 引數1:定時時間設定,表示每隔3分鐘執行一次
    # 引數2:要定義執行的函式
    # 引數3:輸出日誌的位置,說明:日誌文字使用絕對路徑,會自動建立
    ('*/1 * * * *', 'contents.crons.generate_static_index_html',
     '>> [日誌路徑]'),
]

相關配置說明:

基本格式 :
* * * * *
分 時 日 月 周    命令
M: 分鐘(0-59)  每分鐘用*或者 */1表示
H:小時(0-23) (0表示0點)
D:天(1-31)
m: 月(1-12)
d: 一星期內的天(0~6,0為星期天)。

“*” 代表取值範圍內的數字,
“/” 代表”每”,
“-” 代表從某個數字到某個數字,
“,” 分開幾個離散的數字

例:
*/5 * * * *        每隔5分鐘
30 9 * * 6,0       週六日9點半
30 6 * * 1-5       週一到週五6點半

 

  • 開啟定時任務

# 新增定時任務到系統中
    python manage.py crontab add
    # 顯示已經啟用的定時任務
    python manage.py crontab show
    # 移除定時任務
    python manage.py crontab remove