Description
We are trying to solve a problem we have in production. I'm here just to ask if someone has the same problem, or just confirm that this could be the case.
We have an heartbeat of 10s in the bundle configuration, and we have workers that takes long time to complete. The main reason is that they call a really slow external service that could take longer then 10 seconds. Possibly even 50 or 100 seconds.
At the end of the worker we need to publish another message to rabbitmq, and we have always error messages like:
Broken pipe or closed connection /app/vendor/videlalvaro/php-amqplib/PhpAmqpLib/Wire/IO/StreamIO.php 190
The method is write, which (I suppose) gets called by heartbeat.
Now the question: is it possible that this library, while handling the worker's load, is busy and do not send any heartbeat? This could be the case because of the single thread php limitation, so it makes sense. But in this particular case, is it possible that the server closes the connection because of the lack of heartbeats, and when we try to publish again the server is gone?
Any help is really appreciated!
Thanks.