#python #django-rest-framework #rabbitmq #celery
Вопрос:
Я работаю над приложением для извлечения нескольких API Rest и, в свою очередь, предоставляю данные из этих извлечений в api Rest.
Api, которые мне нужно получить, работают медленно и не имеют одинаковой структуры. Все выборки должны быть повторяющимися, ежедневными.
Я подумываю об использовании :
-Платформа Django Rest для предоставления api, использования анализаторов и сериализаторов для обработки полученных данных и хранения агрегированных данных, подлежащих предоставлению, в Postgresql.
-Сельдерей для параллельного запуска рабочих и/или дочерних процессов
-Сельдерей взбейте, чтобы регулярно получать и обновлять данные.
-RabbiMq в качестве посредника сообщений для Сельдерея.
Могу ли я использовать сельдерей для выполнения вызовов выборки в api или мне нужно написать специальный скрипт выборки?
И как мне вернуть результат из Сельдерея в Django RF для его хранения? Нужно ли мне использовать другую очередь и работника сельдерея для ответа ?
Лучше ли иметь 1 работника с несколькими дочерними процессами или нескольких работников с 1 дочерним процессом в каждом ?
Комментарии:
1.
And how do I get the result back from Celery to Django RF to store it? Do I need to use another queue and celery worker for the response ?
Вы пробовали использовать объект результата, возвращаемый apply_async (), и вызывать result.get()? Более подробная информация здесь: docs.celeryproject.org/en/stable/userguide/calling.html2. Я только что проверил это, спасибо @nick-odell , кажется многообещающим