If HTCondor is shut down, the Schedd built by the CTS on kbase job flow startup can no longer contact it. It needs to be rebuilt from scratch, so the client probably needs a method to rebuild a schedd.
Something like
class SchedProxy:
def __init__(self, factory):
self.factory = factory
self.schedd = factory()
def refresh(self):
htcondor.SecMan().invalidateAllSessions()
self.schedd = self.factory()
def query(self, *args, **kwargs):
try:
return self.schedd.query(*args, **kwargs)
except htcondor.HTCondorIOError:
self.refresh()
return self.schedd.query(*args, **kwargs)
If HTCondor is shut down, the Schedd built by the CTS on kbase job flow startup can no longer contact it. It needs to be rebuilt from scratch, so the client probably needs a method to rebuild a schedd.
Something like