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