Hi Luis,
I'm glad my comment was of any help!
I'd also have another proposal for an additional feature. However, I'm
not sure whether an implementation would be feasible, not even if one
was desirable, as it might well be that it is only necessary because I
use something wrongly...
Anyway: Could we have tasks that return something via value() (that is,
if there is already something to return), but are not started (that is,
if there is no value for them yet)?
This could be an optional boolean argument to the TaskGenerator(),
something like "dont_run=True".
Let me try to give a scenario where I think this might be useful: Assume
I had something running for some time, but then notice it is too slow
and I should do some changes. It might be that some result are already
there. I would not want those to be lost. Thus I might stop everything
(using the new hooks) and then I'd like to restart only the
postprocessing tasks (might be the sum/integration of some calculated
numbers, which was not calculated as the whole set of numbers was not
complete, or simply an output routine). Yet, some postprocessing tasks
might already be "ready". In this case it would be straight forward to
mark the heavy calculational tasks as "dont_run", and restart...
And another question: If a jug instance running in a queue (atleast in
the queue used here) is terminated by the queuing system, e.g., because
the maximum runtime is over, it seems it is not exiting cleanly. In the
task list those will still show as running. I suppose there is no way to
prevent this, besides making sure to not have tasks killed due to too
long running... But if it happens, is it safe to just remove the
respective .lock file from the juddata directory? I have done so
recently, and it seemed to work, but I'd rather make sure ...
Best!
Sven