I rewrote ZRS's Windows service code to use the new named events set
by current versions of Zope's nt_svcutils/service.py. Overall, this
works really slick, but with a glitch: the ZRS log files suggest that
the "signal" events never get set when Windows is shutting down, they
only fire when the user explicitly stops/restarts a ZRS service. That
isn't good for ZRS -- it's managing a database, and really wants a
chance to flush in-memory data structures to disk, no matter how the
service gets stopped. I don't think it's "a feature" to skip clean
shutdown for a Zope service either.
So, best guesses (please scream where I'm wrong):
- This is because service.py doesn't define a SvcShutdown method, just
a SvcStop method,
- It's a good idea to add a SvcShutdown method to service.py.
- It would suffice to add
SvcShutdown = SvcStop
If nobody disagrees (or even if everyone disagrees except Mark
<wink>), I'll add that to the various Zope branches.
Zope-Dev maillist - Zope-Dev@zope.org
** No cross posts or HTML encoding! **
(Related lists -