Могу ли я использовать Celery для публикации и подписки на темы? - PullRequest
0 голосов
/ 06 ноября 2019

Все примеры, которые я видел для выполнения / планирования задач Celery, выглядят так:

add.delay()

Мне было интересно, могу ли я сделать что-то подобное с Celery:

celery_app.publish(topic='my-topic')

И в другой базе кода / сервисе:

@task(topic='my-topic')
def mytask():
    do_stuf()

Таким образом, мне не нужно знать, какие задачи должны что-то делать, когда происходит событие.

Возможно, у меня есть некоторые неправильные представления, вызывающие этот вопрос, но я не мог найти ответ сам.

1 Ответ

0 голосов
/ 06 ноября 2019

Нет тем, только очереди. И да, вы можете отправить задачу в любую очередь. Подписка на очередь - это удаленная команда рабочего уровня, что также возможно.

Кроме того, вы не можете отправлять произвольные сообщения в очереди, только задачи Celery. Если вы хотите производить / потреблять произвольные сообщения, используйте kombu.

...