sub = hcondor.Submit(âââ
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ executable = /bin/echo
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ queue 2 args in ( one, two, three )
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ âââ)
```I have been thinking about how to make HTCondor python bindings submit as capable as condor_submit,
Â
The main thing missing right now is that the python bindings supports only the simplest possible queue statement.
I think that the bindings needs to support the full range of queue options, but in a pythonic way, so Iâm thinking this
Â
- change the htcondor.Submit class so it can be constructed using the text of a valid submit file. like this
Â
sub = hcondor.Submit(âââ
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ executable = /bin/echo
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ queue 2 args in ( one, two, three )
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ âââ)
Â
- add a method to the htcondor.Submit class that lets you get an iterator from the queue itemdata, like this
Â
for item in sub.itemdata() :
print item
Â
which (given the submit file above) would print:
{âargsâ : âoneâ}
{âargsâ : âtwoâ}
{âargsâ : âthreeâ}
Â
- add a method to the htcondor.Submit class that would queue jobs to the schedd using an iterator for the queue itemdata. Âlike this
Â
with schedd.transaction() as txn :
sub.queue_with_iter(txn, 2, iter(itemdata))
Â
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ which would submit 2 jobs for each item returned by the iterator.
The iterator could be sub.itemdata(), or any iterator that returned an equivalent type of item â either a dict, or a string.
Â
The reason this would need to be a new queue method on the submit object is that the current queue method already
allows a third argument that is a list that is used to return the submitted job classads. ÂÂThis would conflict with adding
an optional third argument to be the queue itemdata iterator.ÂÂ Having a new method also allows the return type to be
change to be more pythonic â return a tuple of <clusterid,classad> for instance.
Â
- (optionally) change the current queue method on the htcondor.Submit object to honor any QUEUE statement supplied in the constructor of the Submit object. It would be a runtime error to pass more than just the txn argument to the queue method in this case. (since the count argument would conflict)
Â
Thoughts?
Is anyone currently using the third argument to the queue() method of the current htcondor.Submit class?
Would anyone be harmed if I just removed that argument and replaced it with an optional iterator?
Â
-tj
Â
Â
Â
Â
_______________________________________________
HTCondor-users mailing list
To unsubscribe, send a message to htcondor-users-request@cs.wisc.edu 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/