Разница между send_task () и apply_asyn c () - PullRequest
1 голос
/ 08 апреля 2020

Я не уверен в разнице между apply_async() и send_task() в библиотеке Celery в Python, особенно при использовании пулов задач. Что я в основном ищу, так это наличие централизованного сервера со всеми определенными в нем задачами и использование некоторых очередей Redis, другие физические экземпляры могут публиковать / отправлять события в разные очереди, предназначенные для различных задач с использованием пулов, без необходимости определить весь список задач в каждом скрипте издателя, чтобы можно было его использовать.

Я изучил документацию и не нашел много ответов на мой вопрос.

Спасибо за заранее!

1 Ответ

0 голосов
/ 08 апреля 2020

Они оба делают одно и то же (запрашивают выполнение конкретной задачи). Однако для применения apply_asyn c () вам необходимо определение задачи. send_task() чрезвычайно удобно в том случае, если вы действительно не хотите распространять код только для того, чтобы вы могли запускать определенную задачу (конечно, вы должны использовать ту же сериализацию и знать имя задачи, но если вы являетесь владельцем базы кода, это это не проблема).

...