python 异步定时任务

本文介绍了如何在Django项目中利用Celery框架设置异步任务和定时任务。首先创建了名为celery_task的文件夹,包含初始化配置、配置文件、任务定义及时间调度模块。启动异步任务需运行`celery -A celery_task worker -l info -P eventlet`,而定时任务则需运行`celery -A celery_task beat -l info`。要注意的是,必须先启动异步任务再启动定时任务,并且在调用任务方法时需添加.delay以实现异步执行,例如调用发送手机短信验证码的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

异步任务的搭建
 flask与Django配置有差异,这里使用Django,

 

创建异步文件夹celery_task,和以下目录文件

__init__文件配置

from celery import Celery
from datetime import timedelta

import os
import django

# 调用项目环境
os.environ.setdefault("DJANGO_SETTINGS_MODULE","s1.settings")
django.setup()

# 异步任务

celery_app = Celery("mycelery")  # 创建一个异步任务
celery_app.config_from_object('celery_task.config')  # 读取config里的配置

# 定时任务

celery_app.autodiscover_tasks(['celery_task.times'])# 文件夹名.文件名

celery_app.conf.update(
    CELERYBEAT_SCHEDULE={
        'sum-task': {
            # 文件夹名.文件名.方法名
            'task': 'celery_task.times.my_con',
            # 多少秒执行一次(eg:5秒一执行)
            'schedule': timedelta(seconds=5),
            # 这是传入my_con
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值