Понимание того, как работает базовое сообщение сельдерея - PullRequest
0 голосов
/ 04 ноября 2011

Я реализовал небольшой тест, который использует celery для очередей сообщений, и я просто хочу убедиться, что я понимаю, как он работает на базовом уровне (Django-Celery, Использование Redis в качестве брокера).

Насколько я понимаю, когда я выполняю вызов для запуска асинхронной задачи, информация о задаче помещается в redis, а затем экземпляр celeryd, подключенный к брокеру, потребляет и выполняет задачу. Это по сути то, что происходит?

Если я настраиваю периодическое задание, которое должно выполняться раз в час, выполняется ли это задание на всех потребителях задания? Если да, есть ли способ ограничить его, чтобы только один потребитель когда-либо выполнял периодическое задание?

1 Ответ

2 голосов
/ 04 ноября 2011

workers будет использовать столько сообщений, сколько содержит брокер.Если у вас есть 8 рабочих, но только 1 сообщение, 1 из 8 рабочих будет использовать сообщение при выполнении задачи.

...