Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

chris-lw's avatar

Horizon Terminate Issue

Hey guys.

Can anybody give me any assistance with Horizon restarting please?

With regards to Horizon - everything appears to be working fine, the queues are firing etc. My issue is restarting the queues when a new deploy takes place with Envoyer. As per Dries Vints article here I have supervisor running -

https://medium.com/@driesvints/laravel-horizon-with-forge-and-envoyer-82a7e819d69f

I have a deployment hook setup which fires the php artisan horizon:terminate after I activate the new release but It does not seem to work.

If I restart supervisor manually, my queues restart but obviously horizon:terminate should really be taking care of this.

From what I can see - running horizon:terminate only works from the release directory in which it was started from. As soon as a deployment takes place and there is a new release directory and the current symlink is updated then horizon:terminate no longer works from the current directory, hence why it fails from Enyoyer.

Has anybody came across this before?

At present all I can do is run sudo service supervisor restart to restart horizon after a deploy, but this feels dangerous.

Thanks in advance.

0 likes
1 reply

Please or to participate in this conversation.