У меня есть ошибка в журналах, которая говорит о том, что у меня есть ошибка в рабочем процессе с идентификатором 'execute-flow-97bc4090-4cb4-4652-9841-7f01b8fda6f8':
Completing activity as failed ({'activity_id': '1', 'activity_type': 'send_email', 'attempt': 23928, 'namespace': 'default', 'task_queue': 'execute-flow-task-queue', 'workflow_id': 'execute-flow-97bc4090-4cb4-4652-9841-7f01b8fda6f8', 'workflow_run_id': 'c2baa95b-8660-42e5-a451-221a05cf54c0', 'workflow_type': 'ExecuteFlowWorkflow'})
Поэтому я хочу выполнить сценарий отладки в Python, чтобы найти аналогичную проблему в других рабочих процессах. Но temporal_client.list_workflows() не возвращает все рабочие процессы, которые выполняются в данный момент.
Чтобы доказать это, я написал простой код Python, который извлекает рабочий процесс с проблемой по его идентификатору, а затем код пытается найти его с помощью temporal_client.list_workflows(), но рабочий процесс не найден, а количество рабочих процессов, возвращаемых temporal_client.list_workflows(), не превышает лимит страницы.
async def main():
temporal_settings = TemporalSettings()
temporal_client = await create_temporal_client(temporal_settings)
workflow_handle = temporal_client.get_workflow_handle("execute-flow-97bc4090-4cb4-4652-9841-7f01b8fda6f8")
print("Workflow id:", workflow_handle.id)
workflow_executions_count = 0
async for workflow_execution in temporal_client.list_workflows(page_size=1000):
workflow_executions_count += 1
if workflow_execution.id != workflow_handle.id:
continue
print("Workflow execution found")
break
else:
print("Workflow execution not found")
print("Workflow executions count:", workflow_executions_count)
asyncio.run(main())
Выход:
Workflow id: execute-flow-97bc4090-4cb4-4652-9841-7f01b8fda6f8
Workflow execution not found
Workflow executions count: 145
Подробнее здесь: https://stackoverflow.com/questions/786 ... executions