如何在芹菜中推送和弹出队列的任务



我想将大量图像保存到图像服务器。我需要将所有图像信息请求排队,以便使用 Celery 保存它们.I 使用 Django 框架。 我阅读了 Celery 的文档并在 Django 中对其进行了配置,我还以"images"的名义创建了一个队列,但我不知道如何将图像的信息放入队列并发送消息进行保存并在保存后将它们从队列中删除。 我在 Celery 文档中找不到队列中推送和弹出任务的任何命令。

这是我如何配置芹菜的代码:

from kombu import Exchange, Queue
from celery import Celery
import os
class CeleryQueue:
def celery_queue(self):
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'DataScience.settings')
app = Celery('images', broker='amqp://localhost')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()
image_exchange = Exchange('media', type='direct')
app.conf.task_default_queue = 'images'
app.conf.task_default_exchange_type = 'direct'
app.conf.task_default_routing_key = 'media.image'
app.conf.task_queues = (Queue('images', image_exchange,routing_key=app.conf.task_default_routing_key))

感谢您的任何帮助

我认为您在阅读文档时感到困惑。队列用于存储任务。任务被编写为函数并用@task装饰。所以当你调用一个任务时,使用task_name.delay(参数(

相关内容

  • 没有找到相关文章

最新更新