flask celery 設定定時任務

2021-08-14 07:41:36 字數 1445 閱讀 1110

目前專案用的flask,需要做些定時任務,利用celery,redis,瞎折騰了很久,勉強能實現,做下記錄。

專案簡單結構

__init__.py
tasks.py
其他

from flask import flask

from celery import celery

#這是flask文件推薦的例項celery應用的函式,相當於重寫了task的呼叫方法,使其可以應用在flask的上下文中

taskbase=celery.task
class contexttask(taskbase):
abstract=true
def __call__(self,*args,**kw):

return taskbase.__call__(self,*args,**kw)

celery.task=contexttask
return celery
需要新增一些配置

celery_broker_url='redis://localhost:6379',#

broker 位址

celery_result_backend='redis://localhost:6379',#

結果儲存位址

#定時任務,
celerybeat_schedule = ,
'task2': ,
}
)

在tasks.py 中可以寫入自己要定時執行的函式

from . import celery

@celery.task

def test_task():

pass
@celery.task

def test_task1():

pass
啟動 celery

Flask Celery 非同步任務

pip install redis pip install celery 之所以要安裝redis,是因為需要redis作為celery的訊息中介軟體 新建乙個celery fun.py作為celery的配置檔案,並把所有相關方法放進此py。create celery from celery impo...

Flask Celery 基本案例 01

win10 python3.7 flask 1.1.1 celery 4.4.1 virtualenv venv no site packages 啟用虛擬環境 venv scripts activate pip install flask 1.1.1 celery 4.4.1 redis 安裝ge...

mysql設定定時入伍 mysql設定定時任務

今天遇到了個需要每天定時執行的任務,在mysql資料庫裡面提供了這樣的功能,正好整理下分享出來。1.首先檢查是否開啟了定時任務 檢視event是否開啟 show variables like event sche 將事件計畫開啟 set global event scheduler 1 將事件計畫關...