国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Django框架使用定時器-APScheduler實現(xiàn)定時任務:django實現(xiàn)簡單的定時任務

這篇具有很好參考價值的文章主要介紹了Django框架使用定時器-APScheduler實現(xiàn)定時任務:django實現(xiàn)簡單的定時任務。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、系統(tǒng)環(huán)境依賴

系統(tǒng):windows10

python: python==3.9.0

djnago==3.2.0

APScheduler==3.10.1

二、django項目配置

1、創(chuàng)建utils包,在包里面創(chuàng)建schedulers包

utils/schedulers/task.py

#1、設置 Django 環(huán)境,就可以導入項目的模型類這些了
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "項目根目錄名.settings")
import django
django.setup()
#2、一些需要的模塊
from datetime import datetime,timedelta,date

#3、django項目中模型類


NOW_DATETIME = datetime.strftime(datetime.now(),'%Y-%m-%d %H:%M:%S')
NOW_DATE = date.today().strftime('%Y-%m-%d')

def example_interval():
    '''
    每隔一段固定時間就執(zhí)行一次
    :return:
    '''
    print('interval',NOW_DATETIME)

def example_cron():
    '''
    在每天的固定時間執(zhí)行
    :return:
    '''
    print('cron,凌晨開始執(zhí)行的定時任務')

def example_date():
    '''
    在指定日期執(zhí)行一次,就執(zhí)行一次
    :return:
    '''
    print(f'date,指定日期執(zhí)行一次:{NOW_DATETIME}')

utils/schedulers/scheduler.py

# 2、導入所需的調度器類和觸發(fā)器類
from apscheduler.jobstores.memory import MemoryJobStore
from apscheduler.jobstores.redis import RedisJobStore
from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.triggers.interval import IntervalTrigger
from apscheduler.triggers.cron import CronTrigger
from apscheduler.triggers.date import DateTrigger
from pytz import timezone
from threading import RLock
from django.conf import settings
from datetime import datetime,timedelta
lock = RLock()

#3、導入定時任務
from .task import example_interval   #例子,時間間隔,每隔一段時間執(zhí)行
from .task import example_cron  #指定時間執(zhí)行,在指定時間點執(zhí)行
from .task import example_date #指定日期執(zhí)行,執(zhí)行一次


class __SchedulerManage(BackgroundScheduler):
    _instance = None
    def __new__(cls, *args, **kwargs):
        if cls._instance:
            return cls._instance
        with lock:
            if cls._instance:
               return cls._instance
            cls._instance = super().__new__(cls)
            return cls._instance

    def __init__(self):
        super().__init__()
        # 1、設置時區(qū)
        self.timezone = timezone(settings.TIME_ZONE)
        # 2、使用內存存儲定時任務信息
        jobstore_redis = RedisJobStore(host='localhost', port=6379, db=0, password='redis密碼')
        jobstore_memory = MemoryJobStore()
        self.add_jobstore(jobstore_memory)
        # 3、添加任務
        self.add_task()

    def add_task(self):
        '''
        自定義的功能: 用來添加定時任務的
        :return:
        '''
        '1、三種觸發(fā)器的例子'
        #每隔一段固定時間段執(zhí)行一次,1小時執(zhí)行一次,設置開始時間是啟動時間后的3分鐘
        self.add_job(example_interval, trigger=IntervalTrigger(hours=1,start_date=datetime.now()+timedelta(minutes=3)), id='example_interval', replace_existing=True)
        #設置每天的11:03:10 執(zhí)行一次
        self.add_job(example_cron,trigger=CronTrigger(hour=11,minute=3,second=10),id='example_cron',replace_existing=True)
        #設置在2023-08-10 11:03:01執(zhí)行一次,只執(zhí)行一次
        self.add_job(example_date,trigger=DateTrigger(run_date=datetime(2023,8,10,11,3,1)),id='example_date',replace_existing=True)
       

#也可以在實例化時設置時區(qū):__SchedulerManage(timezone=timezone('Asia/Shanghai'))
scheduler_ = __SchedulerManage()
if __name__ == '__main__':
    #啟動 scheduler_.start()  或者 scheduler_() 兩種方式都ok
    scheduler_()

utils/schedulers/__init__.py

from .scheduler import scheduler_

2、項目配置文件settings.py文章來源地址http://www.zghlxwxcb.cn/news/detail-653156.html

####配置定時任務
#啟動定時任務
from utils.schedulers import scheduler_
scheduler_.start()

到了這里,關于Django框架使用定時器-APScheduler實現(xiàn)定時任務:django實現(xiàn)簡單的定時任務的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • STM32使用定時器實現(xiàn)微秒(us)級延時

    STM32使用定時器實現(xiàn)微秒(us)級延時

    目前開發(fā)STM32普遍使用HAL庫,但 HAL 庫封裝的延時函數(shù)目前僅支持 ms 級別的延時,日常很多情況下會用到 us 延時,特別是一些傳感器的數(shù)據(jù)讀取過程,對時序要求比較嚴格,us 延時必不可少,因此我們今天來介紹STM32如何使用定時器實現(xiàn)微秒(us)級延時。 Keil 5 STM32CubeMX STM

    2024年02月12日
    瀏覽(16)
  • STM32不使用中斷實現(xiàn)定時器微秒級精確延時

    STM32不使用中斷實現(xiàn)定時器微秒級精確延時

    我們在寫代碼的時候避免不了要使用延時函數(shù),很多延時函數(shù)都是使用中斷或者tick來實現(xiàn)的,tick的方式最大到毫秒ms級別,通過中斷方式的通用定時器來實現(xiàn),如果實現(xiàn)1us的延時那么每1us就來一次中斷,很影響cpu的效率。 本文提供一種 不使用中斷 ,并且很簡單的方式實現(xiàn)的

    2024年04月11日
    瀏覽(17)
  • NodeMCU ESP8266 的定時器使用以及非堵塞程序的實現(xiàn)

    NodeMCU ESP8266 的定時器使用以及非堵塞程序的實現(xiàn)

    本文會介紹ESP8266的定時器使用方法,傳統(tǒng)的延時函數(shù)存在堵塞占用CPU的問題,后面對于系統(tǒng)中有延時以及定時的功能要求,怎么做才能是系統(tǒng)更加高效合理,我們來進一步學習一下。 通常我們使用 delay() 函數(shù)來進行一定時間的延時,這個函數(shù)接收一個 Int 型的傳入參數(shù),來制

    2024年02月04日
    瀏覽(26)
  • Python - 定時任務框架【APScheduler】基本使用詳解(一)

    一個網頁會有很多數(shù)據(jù)是不需要經常變動的,比如說首頁,變動頻率低而訪問量大,我們可以把它靜態(tài)化,這樣就不需要每次有請求都要查詢數(shù)據(jù)庫再返回,可以減少服務器壓力 我們可以使用Django的模板渲染功能完成頁面渲染 APScheduler的全稱是Advanced Python Scheduler。它是一個

    2024年02月09日
    瀏覽(19)
  • 搭建stm32電機控制代碼框架(二)——Stm32CubeMx配置定時器

    搭建stm32電機控制代碼框架(二)——Stm32CubeMx配置定時器

    搭建了基礎的環(huán)境,配置了一個簡單的工程后,CubeMx的基本操作就會了。然后基于這個操作往下推進,開始對關鍵模塊定時器的攻略,這個部分需要先熟悉一下Stm32的定時器基本原理。 《STM32參考手冊》中僅對定時器的介紹就已經占了100多頁,這里就不一一展開,挑一些關鍵

    2024年02月06日
    瀏覽(16)
  • 【Qt】定時器處理——定時器事件類QTimerEvent和定時器類QTimer使用

    Qt的定時器只能通過純代碼實現(xiàn),定時器顧名思義,主要作用是定時特定的時間。 Qt提供了定時器事件類 QQTimerEvent 和定時器類 QTimer 實現(xiàn)定時器操作。 Qt提供了更高層次的定時器編程接口** QTimer **類,可以使用信號和槽,還可以設置定時一次。比較常用的方法有: QTimer::set

    2024年02月05日
    瀏覽(23)
  • JavaScript中兩種定時器和清除定時器的使用

    ? 定時器就是在一段特定的時間后執(zhí)行某段程序代碼。 以指定的時間間隔(時間單位為毫秒)調用一次函數(shù)的定時器。 輪循定時器是以指定的時間間隔(時間單位為毫秒)重復調用一個函數(shù)的定時器。 clearTimeout(timeoutID) :清除只執(zhí)行一次的定時器(setTimeout函數(shù))。 timeoutID 為

    2024年02月13日
    瀏覽(22)
  • 藍橋杯單片機學習6——定時器/計數(shù)器&定時器實現(xiàn)秒表功能

    藍橋杯單片機學習6——定時器/計數(shù)器&定時器實現(xiàn)秒表功能

    上一期我們學習了外部中斷的相關內容,現(xiàn)在我接著來學習定時器。 定時器/計數(shù)器是一種能夠對內部時鐘信號或者外部輸入信號進行計數(shù),當計數(shù)值達到設定要求時,向CPU提出中斷請求,從而實現(xiàn)定時或計數(shù)功能的外設。定時器的基本工作原理是進行計數(shù)。 舉個栗子 :你可

    2024年02月04日
    瀏覽(21)
  • STC15W104 定時器實現(xiàn)燈的閃爍(定時器原理講解)

    STC15W104 定時器實現(xiàn)燈的閃爍(定時器原理講解)

    STC15W104單片機共有2個定時器,分別為定時器0、定時器2。 定時器是單片機中的一種常用外設,用于在一定時間間隔內產生中斷。 定時器通常用于計時、測量時間間隔、生成PWM信號等應用中。 在STC15W104單片機中,定時器可以被配置為定時器/計數(shù)器模式。 在定時器模式下,定

    2024年02月13日
    瀏覽(16)
  • js實現(xiàn)定時器

    js實現(xiàn)定時器

    用原生js實現(xiàn)一個倒計時效果.最下面有全部源碼,需要自取 js語法 : setTimeout :定時器 document.getElementById :Document的方法 getElementById()返回一個匹配特定 ID的元素。由于元素的 ID 在大部分情況下要求是獨一無二的,這個方法自然而然地成為了一個高效查找特定元素的方法。 remove

    2024年02月11日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包