[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [HTCondor-users] Trapping condor_hold in Python scripts on Windows



You can get an installer for HTCondor for Windows and the sources here:
https://research.cs.wisc.edu/htcondor/downloads/

I would recommend that you install 8.3.7 as it is close to what will in the upcoming new stable 8.4 release and
has working bindings for python 2.7 on Windows.  

The sources are also mirrored on github.
https://github.com/htcondor/htcondor

And we have a wiki if you need help figuring out how to build, or settings up various configurations.
https://htcondor-wiki.cs.wisc.edu/index.cgi/wiki

On 8/10/2015 11:39 AM, Benjamin LIPERE wrote:
Hello.

Sorry to be a bother (I am a Newbie).
But you said three world that interest me, Windows, Python, HTcondor.
I have resources for help you on anything like that, and I am a python developer.
Can you help start with HTcondor, and I will have a look to your problem.

I may have a way or two to reproduce SIGNAL for your script.
I am interested in testing the method too !

So can we work together on that, please ??

Thank you very much.
Best Regards.
Benjamin.



2015-08-10 18:00 GMT+02:00 John (TJ) Knoeller <johnkn@xxxxxxxxxxx>:
Windows doesn't actually have signals, so HTCondor simulates them when talking to it's own daemons
by sending socket messages - so when the starter log on windows says 'Got SIGTERM' it's lying.
what it really got was a daemon command message.

We can't do the same thing for jobs though, for windows jobs we send a WM_CLOSE message to the job.
So you want to somehow catch the WM_CLOSE in python and treat it like a SIGTERM.

I would imagine that this would involve somehow getting python to register a ConsoleControlHandler callback
https://msdn.microsoft.com/en-us/library/ms686016(VS.85).aspx

-tj


On 8/7/2015 2:16 PM, Ben Cotton wrote:
Has anyone had any luck trapping when a Python script is placed on
hold on Windows? My proof-of-concept script below works on Linux, but
not on Windows, despite the fact that the starterlog suggests that it
should:

08/07/15 14:53:10 (pid:7952) Got SIGTERM. Performing graceful shutdown.

import os
import signal
import sys
import time

def cleanShutdown(signal, frame):
     '''A method to handle shutdowns. This is necessary to prevent the agent from
     hanging on a HTCondor shutdown, since the shutdown script sends SIGQUIT
     instead of SIGTERM.'''

     print 'Received signal %i, shutting down server' % signal
     sys.exit(0)

# Capture SIGINT and SIGQUIT
signal.signal(signal.SIGINT,cleanShutdown)
signal.signal(signal.SIGTERM,cleanShutdown)
if os.name != 'nt':
     signal.signal(signal.SIGQUIT,cleanShutdown)

time.sleep(900)


_______________________________________________
HTCondor-users mailing list
To unsubscribe, send a message to htcondor-users-request@xxxxxxxxxxx with a
subject: Unsubscribe
You can also unsubscribe by visiting
https://lists.cs.wisc.edu/mailman/listinfo/htcondor-users

The archives can be found at:
https://lists.cs.wisc.edu/archive/htcondor-users/



--
LIPERE Benjamin
Le logis de paille
87270, Chaptelat
FRANCE
06 26 14 35 20
benjamin.lipere123@xxxxxxxxx


_______________________________________________
HTCondor-users mailing list
To unsubscribe, send a message to htcondor-users-request@xxxxxxxxxxx with a
subject: Unsubscribe
You can also unsubscribe by visiting
https://lists.cs.wisc.edu/mailman/listinfo/htcondor-users

The archives can be found at:
https://lists.cs.wisc.edu/archive/htcondor-users/