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

  to service.py.

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 -
 http://mail.zope.org/mailman/listinfo/zope )

Reply via email to