最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django之定時(shí)任務(wù)django-crontab的實(shí)現(xiàn)

 更新時(shí)間:2025年05月07日 10:57:19   作者:aobulaien001  
Django可以使用第三方庫(kù)如django-crontab來(lái)實(shí)現(xiàn)定時(shí)任務(wù)的調(diào)度,本文主要介紹了Django之定時(shí)任務(wù)django-crontab的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下

crontab

Django可以使用第三方庫(kù)如django-crontab來(lái)實(shí)現(xiàn)定時(shí)任務(wù)的調(diào)度。該庫(kù)允許使用類(lèi)似于crontab文件格式的語(yǔ)法指定任務(wù)的執(zhí)行時(shí)間。

GitHub地址:https://github.com/kraiz/django-crontab

安裝django-crontab

pip install django-crontab

注冊(cè)應(yīng)用

在settings.py文件中注冊(cè)django-crontab應(yīng)用

INSTALLED_APPS = [    
    'django_crontab', # 定時(shí)任務(wù)
]

定時(shí)時(shí)間格式

django-crontab使用Linux下常用的cron調(diào)度器進(jìn)行任務(wù)調(diào)度。對(duì)于時(shí)間格式的指定,它遵循標(biāo)準(zhǔn)的crontab語(yǔ)法,分為五個(gè)字段,從左到右依次為:

*     *     *     *     *
-     -     -     -     -
|     |     |     |     |
|     |     |     |     +----- day of the week (0 - 6) (Sunday=0) -------------d
|     |     |     +------- month (1 - 12) -------------m
|     |     +--------- day of the month (1 - 31) -------------D
|     +----------- hour (0 - 23) -------------H
+------------- min (0 - 59) -------------M

說(shuō)明:

M: 分鐘(0-59)每分鐘用 * 或者 */1 表示
H:小時(shí)(0-23)(0表示0點(diǎn))
D:天(1-31)
m: 月(1-12)
d: 一星期內(nèi)的天(0~6,0為星期天)

星號(hào)(*):所有可能的值,例如month字段如果是星號(hào),則表示在滿(mǎn)足其它字段的制約條件后每月都執(zhí)行該命令操作

逗號(hào)(,):可以用逗號(hào)隔開(kāi)的值指定一個(gè)列表范圍,例如: 1,2,5,7,8,9

中杠(-):可以用整數(shù)之間的中杠表示一個(gè)整數(shù)范圍,例如: 2-6表示2,3,4,5,6

正斜線(xiàn)(/):可以用正斜線(xiàn)指定時(shí)間的間隔頻率,例如: 0-23/2表示每?jī)尚r(shí)執(zhí)行一次。同時(shí)正斜線(xiàn)可以和星號(hào)一起使用,例如*/10,如果用在minute字段,表示每十分鐘執(zhí)行一次

注意: 所有值都必須在相應(yīng)的范圍之內(nèi),否則視為無(wú)效

定時(shí)時(shí)間示例

0 */1 * * *  # 每1小時(shí)執(zhí)行一次
0 10 * * *	# 每天10點(diǎn)執(zhí)行
30 19 * * *	# 每天19點(diǎn)30分執(zhí)行
0 10 * * 1	# 每周一10點(diǎn)執(zhí)行
30 17 * * 5	# 每周五17點(diǎn)30分執(zhí)行
0 10 1 10 *	# 每年10月1日10點(diǎn)執(zhí)行
0 5,17 * * *	# 每天5:00和17:00執(zhí)行任務(wù)
0 3 * * * # 表示每天凌晨三點(diǎn)執(zhí)行
*/5 * * * * # 表示每隔5分鐘執(zhí)行一次
0 0 1,15 * * # 表示每月1日和15日午夜執(zhí)行
30 8 1-7 * * # 表示每個(gè)月的前7天中,每日上午8:30執(zhí)行

設(shè)置定時(shí)任務(wù)

定時(shí)任務(wù)分為三部分定義:任務(wù)時(shí)間、任務(wù)方法、任務(wù)日志,在settings.py文件配置:

CRONJOBS = [
    # 每1分鐘執(zhí)行一次
    # users:應(yīng)用名,task為py文件名,task_job為文件中的函數(shù)
    ('*/1 * * * *', 'apps.users.task.task_job', '>> ' + os.path.join(BASE_DIR, 'logs/crontab.log')),
    # 每隔5分鐘運(yùn)行一次
    ('*/5 * * * *', 'apps.users.task.my_scheduled_job'),
]

@符號(hào)方法

django-crontab 支持使用 @ 符號(hào)來(lái)快速指定一些常見(jiàn)用法,例如:

@reboot:在系統(tǒng)啟動(dòng)時(shí)運(yùn)行一次

@yearly 或 @annually:每年1月1日 0:00 運(yùn)行一次

@monthly:每月1日 0:00 運(yùn)行一次

@weekly:每周日 0:00 運(yùn)行一次

@daily 或 @midnight:每天0:00 運(yùn)行一次

@hourly:每小時(shí)運(yùn)行一次

@yearly 或 @annually:表示每年執(zhí)行一次,相當(dāng)于 0 0 1 1 *

CRONJOBS = [
    ('@yearly', 'myapp.tasks.my_scheduled_job'),
]

@monthly:表示每月執(zhí)行一次,相當(dāng)于0 0 1 * *

CRONJOBS = [
    ('@monthly', 'myapp.tasks.my_scheduled_job'),
]

@weekly:表示每周執(zhí)行一次,相當(dāng)于 0 0 * * 0

CRONJOBS = [
    ('@weekly', 'myapp.tasks.my_scheduled_job'),
]

@daily 或 @midnight:表示每天午夜執(zhí)行一次,相當(dāng)于 0 0 * * *

CRONJOBS = [
    ('@daily', 'myapp.tasks.my_scheduled_job'),
]

@hourly:表示每小時(shí)執(zhí)行一次,相當(dāng)于0 * * * *

CRONJOBS = [
    ('@hourly', 'myapp.tasks.my_scheduled_job'),
]

解決crontab中文問(wèn)題

在定時(shí)任務(wù)中,如果出現(xiàn)非英文字符,會(huì)出現(xiàn)字符異常錯(cuò)誤

CRONTAB_COMMAND_PREFIX = 'LANG_ALL=zh_cn.UTF-8'

管理定時(shí)任務(wù)

1.執(zhí)行定時(shí)任務(wù)

# 添加定時(shí)任務(wù)到系統(tǒng)中
python manage.py crontab add

2.取消定時(shí)任務(wù)

# 移除定時(shí)任務(wù)
python manage.py crontab remove

3.查詢(xún)激活定時(shí)任務(wù)

# 顯示已激活的定時(shí)任務(wù)
python manage.py crontab show

注意

1.crontab不適用于Windows平臺(tái)。

2.django-crontab默認(rèn)使用的是UTC時(shí)間,與當(dāng)前系統(tǒng)時(shí)區(qū)可能不同。

可以在 settings.py 文件中指定CRONTAB_TIMEZONE選項(xiàng)來(lái)設(shè)置時(shí)區(qū),例如:

將時(shí)區(qū)設(shè)置為東八區(qū)(GMT+8)

CRONTAB_TIMEZONE = ‘Asia/Shanghai'

到此這篇關(guān)于Django之定時(shí)任務(wù)django-crontab的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)django-crontab定時(shí)任務(wù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中列表與元組的乘法操作示例

    Python中列表與元組的乘法操作示例

    這篇文章主要介紹了Python中列表與元組的乘法操作,結(jié)合簡(jiǎn)單實(shí)例形式分析了Python中列表、元組的乘法,并附帶分析了字符串的乘法及元組乘法操作的注意事項(xiàng),需要的朋友可以參考下
    2018-02-02
  • 詳解python實(shí)現(xiàn)簡(jiǎn)單區(qū)塊鏈結(jié)構(gòu)

    詳解python實(shí)現(xiàn)簡(jiǎn)單區(qū)塊鏈結(jié)構(gòu)

    區(qū)塊鏈?zhǔn)且环N數(shù)據(jù)結(jié)構(gòu),也是一個(gè)分布式數(shù)據(jù)庫(kù)。這篇文章主要介紹了python實(shí)現(xiàn)簡(jiǎn)單區(qū)塊鏈結(jié)構(gòu)的相關(guān)知識(shí),需要的朋友可以參考下
    2021-04-04
  • Python的可迭代對(duì)象與不可迭代對(duì)象詳解

    Python的可迭代對(duì)象與不可迭代對(duì)象詳解

    Python中可迭代對(duì)象需實(shí)現(xiàn)__iter__或__getitem__,如列表、字符串、字典等;不可迭代對(duì)象如整數(shù)、浮點(diǎn)數(shù)等,可用iter()或isinstance()判斷,迭代器需實(shí)現(xiàn)__next__,可由可迭代對(duì)象轉(zhuǎn)換
    2025-07-07
  • Python內(nèi)置數(shù)據(jù)類(lèi)型中的集合詳解

    Python內(nèi)置數(shù)據(jù)類(lèi)型中的集合詳解

    這篇文章主要為大家詳細(xì)介紹了Python內(nèi)置數(shù)據(jù)類(lèi)型中的集合,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • 基于Python+Pygame實(shí)現(xiàn)變異狗大戰(zhàn)游戲

    基于Python+Pygame實(shí)現(xiàn)變異狗大戰(zhàn)游戲

    只有你想不到,沒(méi)有我找不到寫(xiě)不了的好游戲!這篇文章就來(lái)和大家分享一下如何基于Python+Pygame實(shí)現(xiàn)變異狗大戰(zhàn)游戲,感興趣的可以了解一下
    2023-03-03
  • Anaconda最新版2023安裝教程Spyder安裝教程圖文詳解

    Anaconda最新版2023安裝教程Spyder安裝教程圖文詳解

    這篇文章主要介紹了Anaconda最新版2023安裝教程Spyder安裝教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • python實(shí)現(xiàn)通過(guò)pil模塊對(duì)圖片格式進(jìn)行轉(zhuǎn)換的方法

    python實(shí)現(xiàn)通過(guò)pil模塊對(duì)圖片格式進(jìn)行轉(zhuǎn)換的方法

    這篇文章主要介紹了python實(shí)現(xiàn)通過(guò)pil模塊對(duì)圖片格式進(jìn)行轉(zhuǎn)換的方法,涉及Python中pil模塊的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • python自動(dòng)從arxiv下載paper的示例代碼

    python自動(dòng)從arxiv下載paper的示例代碼

    這篇文章主要介紹了python自動(dòng)從arxiv下載paper的示例代碼,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-12-12
  • 淺談Python 函數(shù)式編程

    淺談Python 函數(shù)式編程

    這篇文章主要介紹了Python 函數(shù)式編程的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • 一文詳解PyCharm中如何安裝第三方庫(kù)

    一文詳解PyCharm中如何安裝第三方庫(kù)

    在下載安裝好Pycharm后,一個(gè)在實(shí)際編程開(kāi)發(fā)過(guò)程中非常重要的問(wèn)題是第三方庫(kù)添加,這篇文章主要給大家介紹了關(guān)于PyCharm中如何安裝第三方庫(kù)的相關(guān)資料,需要的朋友可以參考下
    2023-12-12

最新評(píng)論

华蓥市| 郁南县| 山东省| 岗巴县| 扎赉特旗| 正宁县| 双柏县| 布尔津县| 永福县| 汶川县| 宣汉县| 云霄县| 朝阳县| 读书| 林州市| 塔河县| 杨浦区| 岳普湖县| 枣庄市| 苍梧县| 香格里拉县| 墨竹工卡县| 洛扎县| 贵南县| 筠连县| 遂宁市| 唐河县| 仁怀市| 甘泉县| 黄平县| 永德县| 湖北省| 沂南县| 长兴县| 怀安县| 惠来县| 嘉鱼县| 湘西| 原平市| 专栏| 临泉县|