diff --git a/cadence/activity_loop.py b/cadence/activity_loop.py index b0cdcce..04926b7 100644 --- a/cadence/activity_loop.py +++ b/cadence/activity_loop.py @@ -38,6 +38,13 @@ def activity_task_loop(worker: Worker): return except Exception as ex: logger.error("PollForActivityTask error: %s", ex) + # possible that connection with cadence server broke, so recreating + try: + service: WorkflowService = WorkflowService.create(worker.host, worker.port, + timeout=worker.get_timeout()) + worker.manage_service(service) + except Exception as ex: + logger.error(f"Could not create workflow service due to: {ex}") continue if err: logger.error("PollForActivityTask failed: %s", err)