用 celery 实现 多个队列

本文介绍了如何使用 Celery 在 Python 中实现多个队列,以满足定时任务和任务优先级的需求。通过配置不同队列,如 videos、images 和 default,确保任务按重要性分配并异步执行。在 app.py 中定义 Web 应用,tasks.py 存储任务,而 celeryconfig.py 进行配置。启动 worker 使用指定的队列,确保任务有序高效地执行。

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

celery 是python中 比较流行的定时任务,但是在使用过程中有两个需求比较重要 ,那就是定时任务优先级

首先是定时任务,定时任务 也就是在固定的时间执行固定的任务。但是通常需要硬编码。

然后是优先级,比如在实际业务中,有的任务比较重要,我们希望他能优先执行。


#app.py

# *-* coding: utf-8 *-*

from flask import Flask

import tasks
app = Flask(__name__)

@app.route('/images', methods=['GET', 'POST'])
def image():
    tasks.image.delay()
    return "image success"

@app.route('/video/', methods=['GET'])
def video():
    tasks.video.delay()
    return "video success"

@app.route('/common/', methods=['GET', 'POST'])
def common():
    tasks.common.delay()
    return "common success"

if __name__ == "__main__":
    app.run(debug=True)

app中定义web应用  ,假设每个接口都是耗时的,每个接口任务找不同的任务队列

#tasks.py

# *-* coding: utf-8 *-*

import time
from celery import Celery

celeryapp = Celery(broker='redis://localhost:6379/2')
celeryapp.config_from_object('celeryconfig
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值