簡體   English   中英

如何在芹菜中推送和彈出隊列的任務

[英]How to push and pop tasks of the queue in celery

我想將大量圖像保存到圖像服務器。 我需要將所有圖像信息請求排隊以使用Celery保存它們。我使用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(parameters)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM