Code: Select all
round_details_tasks = [
asyncio.create_task(
self.launch_individual_order_details(order),
name=f"task_order_{order.id}",
)
for order in active_orders
]
results = await asyncio.gather(*order_details_tasks, return_exceptions=True)
for task, result in zip(order_details_tasks, results):
if isinstance(result, Exception):
print(f"⚠️ Task '{task.get_name()}' raised an exception: {result}")
else:
print(f"✅ Task '{task.get_name()}' succeeded with result: {result}")
Code: Select all
logger.debug(f"Sending order details with success for order: {order.id}")
await order_service.send_order_request(order)
Das Problem, mit dem wir konfrontiert sind Laden Sie unsere Schoten ein, wenn der Pod 70% der CPU -Grenzen verwendet, die wir ihnen geben. Wir bemerken, dass einige unserer Aufgaben einfach die Ausführung brechen und die Ereignisschleife nicht über einen möglichen Fehler informieren.
Wir haben dies entdeckt, weil wir nach einigen Ladetesten einige Skripte durchführten, um den Transaktionsstatus zu überprüfen, und festgestellt haben, dass einige Bestell -IDs nur den Transaktionsstatus ausstehend hatten, sodass sie die Anfrage nicht einmal an die externe API ausgeführt haben. Darüber hinaus haben wir festgestellt, dass für alle in diesem Zustand befandenen Bestellungen sie nicht im Aufgabenprotokoll der Succes erschienen sind: < /p>
Code: Select all
print(f"✅ Task '{task.get_name()}' succeeded with result: {result}").
< /code>
und sie werden auch nicht im Fehleraufgabeprotokoll angezeigt: < /p>
print(f"⚠️ Task '{task.get_name()}' raised an exception: {result}").
Code: Select all
logger.debug(f"Sending order details with success for order: {order.id}")
Hat jemand eine Idee Warum können diese Fälle stattfinden?