Hi all,I am currently struggling to go through the Python bindings for my schedulers' histories. According to the documentation [1], scheduler.history() should return an iterator over historic job ads. However the function fails with [2] for me. But without arguments, the function should be projecting all ads for all jobs (up to a rate limit), or?
To avoid any problems, I am querying the scheduler on the collector machine itself, where the installed packages look like [3].
Maybe somebody has an idea for me, how to properly get the historic ads? Cheers and thanks for ideas, Thomas [1] https://htcondor.readthedocs.io/en/v9_0/apis/python-bindings/api/htcondor.html#htcondor.Schedd.history [2] import htcondor, classad import socket import platform print(platform.python_version()) # '3.6.8' ########## collector = htcondor.Collector() schedName = socket.gethostname() schedAddr = collector.locate(htcondor.DaemonTypes.Schedd, schedName) schedd = htcondor.Schedd(schedAddr) ########## print(schedd.query()[0]['JobStatus']) # 5 ########## type(schedd.history()) Traceback (most recent call last): File "<stdin>", line 1, in <module>File "/usr/lib64/python3.6/site-packages/htcondor/_deprecation.py", line 111, in wrapper
return method(self, *args, **kwargs)File "/usr/lib64/python3.6/site-packages/htcondor/_lock.py", line 69, in wrapper
rv = func(*args, **kwargs) Boost.Python.ArgumentError: Python argument types in Schedd.history(Schedd) did not match C++ signature:history(Schedd {lvalue} self, boost::python::api::object constraint, boost::python::list projection, int match=-1, boost::python::api::object since=None)
[3] condor-9.0.5-1.el7.x86_64 condor-classads-9.0.5-1.el7.x86_64 condor-externals-9.0.5-1.el7.x86_64 condor-procd-9.0.5-1.el7.x86_64 python2-condor-9.0.5-1.el7.x86_64 python3-condor-9.0.5-1.el7.x86_64
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature