I noticed that the php artisan horizon process does not die when redis fails. So it's left in a semi-running state when it looks like it's still working. But in fact the master supervisor is stuck so it does not create any new workers etc.
Stacktrace from logs when it happens is attached further down in this issue.
I would prefer that the exception makes the process die so supervisor or other type of service can restart the process.
I am open for other suggestions too if it's not something maintainers want to change.
Maybe it's possible to extend some method/exception to force it to fail?
Just to be clear - my redis is back again but mastersupervisor is still dead/stuck.
Horizon Version
5.22.1
Laravel Version
10.43.0
PHP Version
8.3.2
Redis Driver
PhpRedis
Redis Version
6.0.2
Database Driver & Version
No response
Description
I noticed that the
php artisan horizon
process does not die when redis fails. So it's left in a semi-running state when it looks like it's still working. But in fact the master supervisor is stuck so it does not create any new workers etc.Stacktrace from logs when it happens is attached further down in this issue.
I would prefer that the exception makes the process die so supervisor or other type of service can restart the process.
I am open for other suggestions too if it's not something maintainers want to change. Maybe it's possible to extend some method/exception to force it to fail?
Just to be clear - my redis is back again but mastersupervisor is still dead/stuck.
But status commands show like if it still works:
Processes running:
But workers do not process any jobs.
Here is logs and stacktrace, where you can see the final jobs it processed before Redis went away and it became stuck.
Steps To Reproduce
Start horizon with php artisan horizon
Process some jobs
Kill redis server