-
-
Notifications
You must be signed in to change notification settings - Fork 89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reload Config without downtime #264
Comments
And without to stop current running jobs ;) |
Given that #202 also only asks for reloads of transport config, I think we could start by just implementing reloads for transports. I'm unsure about the user interface / user experience for reloads, though. Here are some options:
I'm looking forward to your feedback! |
I think my perspective is a somehwat common one. I run zrepl as a systemd service (using the default resulting from the deb package). I configure all jobs through ansible. The ideal scenario here is that I could issue a systemd service This would then behave as if a restart had happened, except without interrupting ongoing operations.
I may miss something re how things are working internally, but couldn't it just switch over to the new schedule (and in case anything is currently running, let it finish that regardless, during/after which the new interval takes effect)? If there's any complicating factor in any of this, I think even ignoring changes on existing jobs and only considering new ones is still useful in itself, though being able to change the interval would be great. |
I'd agree, letting everything ongoing finish and then reloading/replacing (or deleting) the jobs when they're idle seems sane enough to me from a conceptual perspective, of course implementing it is a different problem. |
Any progress on this? |
I haven't seen any proposal for how we would detect job renames. That being said, I think it's feasible to start small, e.g.,
I think these are good beginner tasks and I'm happy to review draft-level pull requests. |
Do we need to? IMO, this should be handled the same as a deletion and creation of another new job:
What kinds of things could actually conflict or go wrong here? I can imagine the following:
|
I'm actively rewriting the zrepl config clients list when new clients come up, and would like zrepl to see the new clients without a full restart.
The text was updated successfully, but these errors were encountered: