I am trying out Temporal with Python. The setup is a basic one - the temporal server is up, and a temporal worker is running using Python. Once in a while, I see the temporal server throwing error logs like -
gRPC call poll_workflow task_queue retried … times
error=Status { code: Unavailable, message: "GetTaskQoral.io/server/common/persistence.(*taskRetryablePersistenceClient).GetTaskQueueUser│
...queue operation failed. Failed to check if task queue /_sys/calibration_workflow_qu Data.func1\n\t/home/runner/go/pkg/mod/go.temporal.io/server@v1.22.2/common/persisten│
...Queue/1 of type Workflow existed.
Error: SQL logic error: no such table: task_queues ce/persistence_retryable_clients.go:786\ngo.temporal.io/server/common/backoff.Thrott│ (1)", metadata: MetadataMap { headers: {"content-type": "application/grpc"} },
so leRetryContext\n\t/home/runner/go/pkg/mod/go.temporal.io/server@v1.22.2/common/backo...
According to my limited understanding, this means that the task_queue
that the worker is looking for is not found. My worker code is a simple one -
async def main():
temporal_client = await Client.connect(target_host="localhost:7233")
worker = Worker(client=temporal_client,
task_queue="workflow_queue",
activities=[
<activities_definitions>
],
workflows=<workflow_definitions>,
)
await worker.run()
if __name__ == '__main__':
asyncio.run(main())
But the worker is running. So, if the worker is running, shouldn’t the queue also exist!? Is there a timeout in play here?