Всё не так просто с этими зависшими задачами. Иногда они в очередь встают и тянут всё вниз, но причина может быть и не только в ошибках — например, далеко не всегда таймауты помогают, если проблема кроется глубже в архитектуре. Логи, конечно, нужны, но и их много не всегда спасает, если нет нормального мониторинга и обработки. Так что контролировать процесс сложно, и зависания – далеко не всегда только из-за кривого кода.