This is considering PHP implementation, I’m at my wits end here so I’m searching for help anywhere I can think of. If anyone could reproduce this problem on their end it would be really helpful. At least I would know this is not an issue of my specific setup.
A very detailed description of the issue:
Sending out a heartbeat in activity method results in
heartbeat on non running activity (at random times). The failed state for heartbeats seems to be set upon roadrunner launch (
rr serve command). If the activity worker launches with a ‘failed’ heartbeat state, it’ll continue failing upon Heartbeats until it, or the Workflows
rr serve instance is killed and restarted. I’m still not very clear on what fixes it. The more roadrunner instances I run (
rr serve ) the higher the chance of this error.
The failing heartbeats throw:
'activity_pool_get_activity_context: heartbeat on non running activity' on tcp://127.0.0.1:6001
Or sometimes the worker (very rarely) enters a different state for heartbeats and failed with a socket error. IDK if it’s related:
socket_send(): unable to write to socket : Broken pipe