Я пытаюсь поставить задачу на параллельную обработку нескольких заказов. Я использовал аккорд и отправлял идентификатор аккорда обратно во внешний интерфейс, чтобы периодически проверять ход выполнения задачи, однако отправляемый мной идентификатор на самом деле получает результаты родительской задачи, в которую я вложил аккорд? Я не совсем понимаю, что не так.
Вот моя родительская задача и конечная точка Django
Я пытаюсь поставить задачу на параллельную обработку нескольких заказов. Я использовал аккорд и отправлял идентификатор аккорда обратно во внешний интерфейс, чтобы периодически проверять ход выполнения задачи, однако отправляемый мной идентификатор на самом деле получает результаты родительской задачи, в которую я вложил аккорд? Я не совсем понимаю, что не так. Вот моя родительская задача и конечная точка Django [code]@shared_task def bulk_create_shipping_labels_task(skus, carrier, service, measurements, user_id): start_time = time.time() logger.info(f"Starting bulk shipping label creation for SKUs: {skus}")
# Create a chord of tasks header = [process_single_order.s(order_id, user_id, carrier, service, measurements) for order_id in orders] callback = collect_bulk_results.s()
# Execute the chord chord_result = chord(header)(callback)
if task_result.ready(): result = task_result.get() print('result', result) return Response({ 'status': 'completed', 'message': 'All tasks have finished processing', }) else: return Response({ 'status': 'processing', 'message': 'Tasks are still processing' }) except Exception as e: return Response({ 'status': 'error', 'error': str(e) }, status=500) [/code] Вместо этого я пробовал использовать группы и вызывать там идентификатор группы, но он всегда говорил, что группа не существует.
Я пытаюсь поставить задачу на параллельную обработку нескольких заказов. Я использовал аккорд и отправлял идентификатор аккорда обратно во внешний интерфейс, чтобы периодически проверять ход выполнения задачи, однако отправляемый мной идентификатор...
Предположим, у меня есть следующие задачи по сельдерею:
# Tasks.py @app.task защита задачиA(): время.сон(10) вернуть «результат» @app.task защита задачиB (результат): print( Результат получен ) В своей программе я регулярно запускаю новые задачи...
490100 in df_exp .astype(str).str.strip()
Out : False
(df_exp .astype(str) == 490100 ).any()
Out : True
490100 in df_exp .astype(str).str.strip().values
Out : True
Очевидно, проверка foo в df больше не проверяет, является ли foo значением внутри...
Этот вопрос такой же, как и этот:
Как связать задачу Celery, возвращающую список, в группу?
за исключением того, что мне нужно, чтобы это произошло в середине цепочки, а принятое решение работает только в том случае, если промежуточная задача...