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

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Вторая задача сельдерея, запускаемое внутри первой задачи, остается в ожидании периодически и никогда не выполняется

Сообщение Anonymous »

Я использую сельдерей с Redis и Rabbitmq в качестве брокеров и цветов для мониторинга. У меня есть конечная точка API для загрузки документов, которая запускает первую задачу сельдерея для обработки первоначальной партии. < /P>
Внутри этой первой задачи сельдеры на основе подсчета подборов, я запускаю вторую задачу сельдере, чтобы разделить партию и обрабатывать подборы на паралле. Остается в ожидаемом состоянии и никогда не начинает выполнять - нет журналов из второй задачи. Ошибки или предупреждения в журналах работников.
Я запускаю работников сельдерея следующим образом:
source/usr/src/app/configs/environ2.sh && celery -a application.tasks worker --pool = gevent -e --loglevel = inform. Причина для того, почему вторая задача сельдерея периодически не выполняется. Или какая -то проблема параллелизма или конфигурации очереди? Какие шаги отладки или лучшие практики я должен следовать, чтобы обеспечить, чтобы вторая задача всегда была надежно поднимается? Но это не работает. Как работать с сельдереем, не выполняя < /p>
Это первый сельдерей < /p>
@celery.task(max_retries=0)
def call_upload (q_id, b_id, user_id, uploaded_zip_folders, batch_display_name, batch_display_id, e_id, method, token, kwargs): < /p>
Сообщение, return_respons user_id, uploaded_zip_folders, batch_display_name, batch_display_id, e_id, kwargs) < /p>
Внутри функции загрузки есть второй сельдер. /> ################################################################################################################################################################################################################################ 2 Отрегулируйте количество работников по мере необходимости
futures = []
для folder_id, job_ids in forter_job_ids.items ():
f = executor.submit (self.parallel_batch_process, job_ids, b_id, Q_id, folder_id, kwargs, logger)
addone_done_dbackbbrebbrack_dbback_dbback_d_d. /> lambda fut, logger = logger: (
logger.exception("err Inside parallel_batch_process ")
if fut.except ()
else none
)
)
futures.append(f)fbr /> none = 0
for future in aScomplet (future): future): future): future): futures): future): futures) />
result = future.result ()
Если результат == -2:
отказы += 1
logger.error(f"uid: {uid} -задание папки не удалась во время параллельного исполнения »)
За исключением исключения как e:
ошибки += 1
logger. Параллельное выполнение: {str (e)} ") < /p>
if failures > 0:
return -2

return 1


Подробнее здесь: https://stackoverflow.com/questions/796 ... tently-and
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»