异步任务
res = add.delay(1, 2)
延迟任务
@app.task
def add(a, b):
print('正在计算中')
time.sleep(5)
return a + b
from datetime import datetime, timedelta
eta = datetime.utcnow() + timedelta(seconds=10)
res = add.apply_async(args=[这里面是add函数的参数], eta=时间参数)
res = add.apply_async(args=['add'], eta=eta)
app.conf.timezone = 'Asia/Shanghai'
app.conf.enable_utc = False
定时任务
- 定时任务需要启动beat和worker
- beat: 定时提交任务的进程
- 启动方法:
cd scripts
celery -A celery_task beat -l info
celery -A celery_task worker -l info -P eventlet
app.conf.timezone = 'Asia/Shanghai'
app.conf.enable_utc = False
from datetime import timedelta
from celery.schedules import crontab
app.conf.beat_schedule = {
'my_task': {
'task': 'celery_task.tasks.add',
'schedule': timedelta(seconds=3),
'args': (300, 150),
},
'my_task2':{...},
'my_task3':{...}
}
from datetime import timedelta
from celery.schedules import crontab
app.conf.beat_schedule = {
'my_task': {
'task': 'celery_task.tasks.add',
'schedule': crontab(hour=8, day_of_week=1),
'args': (300, 150),
},
'my_task2':{...},
'my_task3':{...}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类