[PEAK] runIni => ZConfig revisited
John Landahl
john at landahl.org
Fri Nov 14 14:47:40 EST 2003
On Fri, 14 Nov 2003 13:30:56 -0500, Phillip J. Eby <pje at telecommunity.com>
wrote:
> At 07:52 PM 11/14/03 +0200, alexander smishlajev wrote:
>> one of the biggest problems for us now is the requirement to restart
>> the application upon any change in configuration file. we have a
>> strong need to reload config files on the fly, restarting or updating
>> only those components that have their configuration changed.
>
> Perhaps you could create a top-level component that holds the entire
> configured subtree, and simply discards/reloads it when necessary.
>
> (I'm assuming here that the issue with restarting is that Python startup
> and module importing is too slow, not that recreating the app's
> component tree is a problem.)
This is a problem for us, too. It's not that speed is necessarily an
issue, it's that the application is a long running process with various
components doing independent work on varying schedules. It would be
disruptive if the entire application had to restart just to change a
single configuration item for one of the components.
Ideally the application would have a) one component periodically
downloading configuration updates from a central server, b)
publish/subscribe on configuration keys. Components could then subscribe
to the configuration keys they care about, receive notifications when
changes are made, and do whatever is necessary with the information, such
as resetting their work schedule, changing the location of the server they
talk to, change the template of an external command they run, etc.
This would allow configuration to be stored and updated centrally, with
agents adapting as new configuration information is sent their way,
without the need to transmit a new configuration file and restart the
agent. So that's two main reasons: we don't want to have to transmit a
new configuration file to potentially thousands of hosts, and we don't
want to have to restart the agent once it gets there, potentially
disrupting work in progress.
_jpl_
More information about the PEAK
mailing list