如何在Django中開啟乙個定時任務

2021-10-01 16:12:44 字數 1470 閱讀 3228

定時任務使用的場景很多,以定時生成靜態首頁為例。

1. 安裝支援包:django-crontab

安裝方式:pip install django-crontab

2. 註冊定時應用'django_crontab', # 定時任務]

3. 定時任務crontab的時間設定格式

定時時間基本格式 :

5個'*'符號:* * * * * 命令

依次對應:分 時 日 月 周

m: 分鐘(0-59)。每分鐘用 * 或者 */1 表示

h:小時(0-23)。(0表示0點)

d:天(1-31)。

m: 月(1-12)。

d: 一星期內的天(0~6,0為星期天)。

示例:

* /1* * * * mycommand

3,15 * * * * mycommand

3,15 8-11 * * * mycommand

3,15 8-11 */2 * * mycommand

3,15 8-11 * * 1 mycommand

4. 設定定時任務

在settings中新增cronjobs,設定定時任務。

定時時間為:每隔一分鐘執行一次;

">>"符:拼接定時任務執行結果儲存路徑。

cronjobs = [

# 每1分鐘生成一次首頁靜態檔案

('*/1 * * * *', 'contents.crons.generate_static_index_html', '>> ' + os.path.join(os.path.dirname(base_dir), 'logs/crontab.log'))

]

5. 設定中文支援

在定時任務中,如果出現非英文本元,會出現字元異常錯誤

crontab_command_prefix = 'lang_all=zh_cn.utf-8'
6. 管理定時任務

$ python manage.py crontab add

$ python manage.py crontab show

$ python manage.py crontab remove

如何在程式中開啟另乙個程式

shellexecute的使用方法 q 如何開啟乙個應用程式?shellexecute this m hwnd,open calc.exe sw show 或 shellexecute this m hwnd,open notepad.exe c mylog.log sw show q 如何開啟乙個...

如何在DOS下開啟乙個資料夾

今天再做乙個批處理檔案時發現在,想開啟乙個資料夾用 start 打不開,查了下資料才知道。因為 dos 不支援長檔名,只支援6個位元組 也就是中文3個字,英文6個字母 譬如有資料夾 c 我的資料夾開啟就是 start c 我的文 1 後面的1表示,前面重複的第乙個。比如上面的,如果還有個資料夾是 c...

如何在 Linux 中查詢乙個檔案

對於新手而言,在 linux 中使用命令列可能會非常不方便。沒有圖形介面,很難在不同資料夾間瀏覽,找到需要的檔案。本篇教程中,我會展示如何在 linux 中查詢特定的檔案。第一步要做的是通過 ssh 連線到你的 linux 在 linux 中查詢檔案有兩種方法。一種是使用find命令,另外一種是使用...