Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds exit codes to the
horizon:status
artisan command.The use-case for this is to monitor the Horizon status via monitoring tools, which we run on top of the normal supervisor configuration.
We've noticed in production usage that supervisor didn't restart the Horizon worker in a specific edge-case where Redis crashed. The status command however gave the correct status of
inactive
. We wish to monitor thehorizon:status
output to ensure the queue is always running.Our current workaround is checking the output string, but we would prefer to use exit code checking.
I was unsure which exit code to assign to the
paused
status. I've landed on exit code 1. Happy to receive input on that.This PR also adds colored output to the status:
error
for inactive (red) - exit code 1warn
for paused (orange) - exit code 1info
for running (green) - exit code 0