win32 service and time.sleep()

Oracle nospam at nowhere.com
Tue Sep 20 11:35:25 EDT 2005


On Tue, 20 Sep 2005 10:49:13 -0400, rbt wrote:

> I have a win32 service written in Python. It works well. It sends a
> report of the status of the machine via email periodically. The one
> problem I have is this... while trying to send an email, the script
> loops until a send happens and then it breaks. Should it be unable to
> send, it sleeps for 10 minutes with time.sleep(600) and then wakes and
> tries again. This is when the problem occurs. I can't stop the service
> while the program is sleeping. When I try, it just hangs until a reboot.
> Can some suggest how to fix this?
> 

You could try doing it the hard way.  In a loop, sleep for 1-5 seconds at
a time.  Everytime you complete a sleep, check the elapsed time.  If the
elapsed time is >= the total sleep duration, fall out of the sleep loop
and try your email again.  This should allow your service to stop within
1-5 seconds of your request while imposing little to no load on the system.






More information about the Python-list mailing list