-
Notifications
You must be signed in to change notification settings - Fork 155
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Readiness status #179
Comments
Hey @andyjeffries, sorry for the delay replying to this one! I wonder if you could use the pidfile that the supervisor sets as your readiness probe. See the |
Thanks @rosa , that should work OK for now. Would be great if there was a hook that could be executed for when it's up and running ready to process jobs... |
@rosa How do you define healthcheck for Kamal? I'm wondering how to do it in most reliable way especially with the recent change basecamp/kamal#740 |
@morgoth you could use Kamal's In any case, I'm planning to improve the existing |
Maybe provide hooks into the SolidQueue boot/shutdown callbacks? This would allow custom logic for readiness detection (vs using the supervisor pid). We used this exact approach with Sidekiq on k8s, and it worked well enough. |
We used the approach @zerobearing2 describes too and it worked perfectly for us. |
Hey everyone, thanks a lot for your patience here! I got a simple implementation for lifecycle hooks, just on Let me know if I missed anything! |
Absolutely perfect for me. We'd just create a file and remove the file in each hook, and we'd check for the presence of that file to determine readiness (it's simplistic, but enough to know if the process boots slowly when we can shut down the old ones). Many thanks @rosa ! |
I am going to close this one, as I have already shipped these hooks. Thanks everyone for the input 🙏 |
Is there any way of detecting (from outside of the process) when the worker process is up and running and able to start processing jobs?
During deployment on Kubernetes a ReadinessProbe will not shut down the old worker until the new one is ready, but how can we determine that from outside?
Can we make it write to a file when it's up and ready to process jobs?
The text was updated successfully, but these errors were encountered: