欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django自動注冊tasks及使用方式

 更新時(shí)間:2023年06月21日 10:49:12   作者:alue  
這篇文章主要為大家介紹了Django自動注冊tasks及使用方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

注冊定時(shí)任務(wù)使用

最近,利用 Django + dramatiq + apscheduler 實(shí)現(xiàn)了異步消息隊(duì)列功能,能夠在Django應(yīng)用中,方便的注冊定時(shí)任務(wù)。

使用方式如下:

# app/tasks.py
import dramatiq
from sigma_tools import cron
# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday)
# │ │ │ │ │
# * * * * *  
@cron("*/1 * * * *")
@dramatiq.actor
def some_task():
    print("每分鐘都會執(zhí)行這個(gè)任務(wù)")

開發(fā)的過程中,遇到一個(gè)問題,就是自己定義的定時(shí)任務(wù)存在tasks.py文件中,如果不在Django工程中引入這個(gè)文件,該定時(shí)任務(wù)將不會被注冊。

一個(gè)辦法是在每一個(gè)app的 __init__.py 文件中,顯式的引入其 tasks.py 模塊。由于Django會自動注冊app,注冊的同時(shí),也就會發(fā)現(xiàn)__init__.py 文件中的tasks模塊了。

但這個(gè)方法太土了,而且每個(gè)app都需要做一遍這個(gè)重復(fù)的工作,不夠優(yōu)雅。

優(yōu)雅的方式,是在注冊調(diào)度器時(shí),自動發(fā)現(xiàn)并注冊所有的tasks模塊,代碼如下:

from django.apps import apps
for app in apps.get_app_configs():
    try:
        __import__(f'{app.name}.tasks')
    except ImportError:
        pass

這樣,開發(fā)時(shí),只管聲明tasks即可.

以上就是Django自動注冊tasks及使用方式的詳細(xì)內(nèi)容,更多關(guān)于Django自動注冊tasks的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 使用Python刪除文本文件中特定行的操作方法

    使用Python刪除文本文件中特定行的操作方法

    文件操作是編程中的重要方面,Python作為強(qiáng)大的編程語言,提供了處理文件的能力,刪除特定行是文件處理中常見的需求,本文給大家介紹了Python快速刪除文本文件中指定行的方法,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2023-12-12
  • python sys模塊及常用功能

    python sys模塊及常用功能

    在Python中,sys模塊提供了訪問和使用解釋器的許多功能的方法,包括命令行參數(shù)、環(huán)境變量、路徑管理、標(biāo)準(zhǔn)輸入輸出流等,sys模塊是Python的標(biāo)準(zhǔn)庫的一部分,不需要額外安裝即可使用,本文介紹python sys模塊相關(guān)知識,感興趣的朋友一起看看吧
    2024-09-09
  • PyTorch?池化層詳解及作用介紹

    PyTorch?池化層詳解及作用介紹

    池化層是CNN中關(guān)鍵組件,主要功能包括降維、特征提取、抑制噪聲和防止過擬合,常見類型有最大池化和平均池化,全局池化則用于簡化模型結(jié)構(gòu)和提高泛化能力,本文詳細(xì)介紹了池化層的作用、種類和實(shí)現(xiàn),以及與卷積層的區(qū)別
    2024-09-09
  • python中pow函數(shù)用法及功能說明

    python中pow函數(shù)用法及功能說明

    在本篇文章里小編給大家整理的是一篇關(guān)于python中pow函數(shù)用法及功能說明內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • 開源軟件包和環(huán)境管理系統(tǒng)Anaconda的安裝使用

    開源軟件包和環(huán)境管理系統(tǒng)Anaconda的安裝使用

    Anaconda是一個(gè)用于科學(xué)計(jì)算的Python發(fā)行版,支持 Linux, Mac, Windows系統(tǒng),提供了包管理與環(huán)境管理的功能,可以很方便地解決多版本python并存、切換以及各種第三方包安裝問題。
    2017-09-09
  • 基于Tensorflow批量數(shù)據(jù)的輸入實(shí)現(xiàn)方式

    基于Tensorflow批量數(shù)據(jù)的輸入實(shí)現(xiàn)方式

    今天小編就為大家分享一篇基于Tensorflow批量數(shù)據(jù)的輸入實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 解決Pytorch中Batch Normalization layer踩過的坑

    解決Pytorch中Batch Normalization layer踩過的坑

    這篇文章主要介紹了解決Pytorch中Batch Normalization layer踩過的坑,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • virtualenv實(shí)現(xiàn)多個(gè)版本Python共存

    virtualenv實(shí)現(xiàn)多個(gè)版本Python共存

    virtualenv用于創(chuàng)建獨(dú)立的Python環(huán)境,多個(gè)Python相互獨(dú)立,互不影響,它能夠:1. 在沒有權(quán)限的情況下安裝新套件 2. 不同應(yīng)用可以使用不同的套件版本 3. 套件升級不影響其他應(yīng)用
    2017-08-08
  • python點(diǎn)云地面點(diǎn)濾波(Progressive Morphological Filter)算法介紹(PCL庫)

    python點(diǎn)云地面點(diǎn)濾波(Progressive Morphological Filter)算法介紹(PCL庫)

    這篇文章主要介紹了python點(diǎn)云地面點(diǎn)濾波(Progressive Morphological Filter)算法介紹(PCL庫),了解膨脹/腐蝕這兩個(gè)基礎(chǔ)操作,可以通過對其進(jìn)行簡單組合來形成開/閉操作,需要的朋友可以參考下
    2021-08-08
  • Python語言描述機(jī)器學(xué)習(xí)之Logistic回歸算法

    Python語言描述機(jī)器學(xué)習(xí)之Logistic回歸算法

    這篇文章主要介紹了Python語言描述機(jī)器學(xué)習(xí)之Logistic回歸算法,涉及Sigmoid函數(shù),梯度上升法等相關(guān)內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12

最新評論