Re: stopping a python windows service

2005-08-17 Thread Peter Hansen
DK wrote:
> I may have taken your code example too literally. I tried putting in
> the check for 'shutdownEvent.isset()' but it's failing at run time.
> It's looking for a global variable, I guess.

Or perhaps "it" is just looking for correct capitalization, since Python 
is case sensitive.  Try shutdownEvent.isSet() instead.

-Peter
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: stopping a python windows service

2005-08-17 Thread DK
I may have taken your code example too literally. I tried putting in
the check for 'shutdownEvent.isset()' but it's failing at run time.
It's looking for a global variable, I guess.

Do I have to register these threads somehow in the beginning?

I'm somewhat new to Python so please be patient...

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: stopping a python windows service

2005-08-16 Thread Do Re Mi chel La Si Do
Hi !

Use SC.exe  (windows-XP)  (with popen ?)
For help :sc  /?


You can, also, try :
qprocess  /?
tasklist  /?
taskkill  /?
etc.

@-salutations

Michel Claveau



-- 
http://mail.python.org/mailman/listinfo/python-list


Re: stopping a python windows service

2005-08-16 Thread Grig Gheorghiu
Here are 2 recipes from the online Python Cookbook. I've used this one
very successfully:
.

This one seems simpler:


Grig

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: stopping a python windows service

2005-08-16 Thread Benjamin Niemann
DK wrote:

> i was able to successfully create a windows service using py2exe. it
> polls a website periodically and logs it to a file. this is done using
> a function that does an infinite loop with periodic "sleeps".
> 
> my question is...
> 
> what's the best way to stop this service gracefully?
> 
> when try to stop it from the services applet from control panel, it
> takes forever and then gives me an error.
> 
> currently, the only way i am able to stop it is using the task manager
> and killing the process.

Windows services generally use two threads: one to do the work and one to
listen for messages from the
whatever-the-component-is-called-to-control-services.
When the message thread received a 'stop' message, it should inform the
worker thread to shut down, e.g. using threading.Event. So your worker
should regularily check for the shutdown event, e.g.:

while not shutdownEvent.isset():
pollWebsite()

for i in xrange(1800):
if shutdownEvent.isset():
break
time.sleep(1)

But if you get the 'stop' message while the worker thread is in
pollWebsite() and the webserver is slw, you'll still have a significant
delay... To avoid this, you would need a http client based on select() that
allows you to check shutdownEvent.isset() at certain intervals - instead of
urlopen which just blocks.


-- 
Benjamin Niemann
Email: pink at odahoda dot de
WWW: http://www.odahoda.de/
-- 
http://mail.python.org/mailman/listinfo/python-list


stopping a python windows service

2005-08-16 Thread DK
i was able to successfully create a windows service using py2exe. it
polls a website periodically and logs it to a file. this is done using
a function that does an infinite loop with periodic "sleeps".

my question is...

what's the best way to stop this service gracefully?

when try to stop it from the services applet from control panel, it
takes forever and then gives me an error.

currently, the only way i am able to stop it is using the task manager
and killing the process.

-- 
http://mail.python.org/mailman/listinfo/python-list