Получите доступ к подпроцессу stdout и stderr Celery в моем приложении Django
Я поместил Celery в мое приложение Django, чтобы две другие программы на Python могли обрабатывать ввод из моего приложения Django с помощью метода подпроцесса. У меня вопрос, как мне получить доступ к выводу из подпроцесса? Тогда, когда я создал только программу на Python, я получаю доступ к файлам журналов (вывод двух приложений) через stdout и stderr. Это то же самое, когда я использую сельдерей в Django? Является ли значение CELERY_RESULT_BACKEND
(если я должен назначить базу данных моего приложения Django здесь), затронутые файлами журнала?
Пока что я сделал это:
Доступ к двум приложениям через подпроцесс в моем tasks.py
Я назначил базу данных моего брокера, Redis, как свою базу данных для CELERY_RESULT_BACKEND. Мой план состоит в том, чтобы получить файлы журналов и затем сохранить их в базу данных моего приложения Django, чтобы я мог просто получить доступ к этой базе данных.
Можете ли вы предложить некоторую помощь?
1 ответ
Как правило, вы заботитесь только о результате задачи, который является возвращаемым значением задачи сельдерея и хранится в вашем result_backend
по крайней мере для result_expires
время (обычно 1 день). Таким образом, в той степени, в которой вы хотите получить доступ к результату какой-либо конкретной задачи, вы можете просто сделать это, используя идентификатор задачи.