Comments (2)
Hi @daichi5! We currently don't run our worker pods with a readinessProbe
or livenessProbe
config, largely because the processes don't accept any outside HTTP traffic, so we don't need the health checks for load balancing purposes. Instead we rely on the default behavior, which is that if the main process (at PID 1) exits, the container restarts.
We also use our cron/scheduler process to enqueue a background job once per minute, and that job emits a metric that we can monitor to alert ourselves if there are no workers running. But this exists outside of our k8s infrastructure, and we haven't shipped a generic version of this behavior, since it depends on the specifics of our internal monitoring/alerting infrastructure.
from delayed.
Hi @smudge! Thanks for the response.
I understand how you operate worker pods.
Instead we rely on the default behavior, which is that if the main process (at PID 1) exits, the container restarts.
As you said, health check may not be necessary because the container will be restarted if the main process exits.
However, we have enabled shareProcessNamespace, so our situation may be a little different.
We also use our cron/scheduler process to enqueue a background job once per minute, and that job emits a metric that we can monitor to alert ourselves if there are no workers running
The idea of this monitoring jobs is very helpful.
I think we'll try to use a similar approach to this one to manage worker processes.
Thank you!
from delayed.
Related Issues (20)
- Configuring Exception Notification on Failure HOT 4
- cron, separate gem or pull request? HOT 3
- Running against a secondary database HOT 10
- How does delayed compare to good_job? HOT 7
- how many simultaneous workers can we run? HOT 2
- Periodic (Cron) jobs HOT 8
- Open to PRs? HOT 10
- Concurrent job not running HOT 4
- Error while reserving job(s): PG::SyntaxError: ERROR: syntax error at or near "SKIP" HOT 5
- Clarification on idempotency requirement HOT 8
- Difference in error behavior when a job is undefined HOT 4
- Changes in schema usage/assumptions from `delayed_job`? HOT 2
- Consider adding jitter to retry interval
- Handling duplicate jobs HOT 4
- Job failed to load: undefined class/module Delayed::JobWrapper. HOT 2
- Locks not being cleared on SIGKILL HOT 2
- Support raise_signal_exceptions HOT 5
- Ruby 3 support HOT 2
- Dashboard UI HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from delayed.