I have a feature request that’s come up for a problem we’re having here. We have a process that lists pdf files and loops through using a tool to convert them to tiff. Our problem arises when a rather large file comes into play. Since the loop is linear, a large file buts a bottleneck in the process. To help protect that there’s a timeout on the convert task of 10 minutes so that nothing will be held up longer than that.
What we’d like to solve this with an embedded variable in the list task under size restrictions. It would look something like this:
{LOGIC(If|Integer|{DATEFORMAT(hh)}|>=|7|{LOGIC(If|Integer|{DATEFORMAT(hh)}|<=|16|10|1000)}|1000)}
So that if the time of day is between 7 and 4 the we take a size less than 10 MBs but outside of that we take less than 1000 MBs.
This would effectively hold up the large files from ever being processed until after office hours without making extra conditions, tasks, or jobs.
We first approached a similar solution with this variable logic in the timeout box (which is less desirable because the list task would still pick it up and delay everything by our lower timeout period all day).
Problem is that variables are not embeddable in the size (or timeout) boxes. I’d like to request that that be added.
In the meantime, I have added a duplicate convert task inline with the loop, and set up mutually exclusive conditions on each so that one runs between 7 and 4 with a timeout of 10 min. and the other runs outside of that with a timeout of 2 hours. This will still delay everything by 10 minutes when a large file comes into play, but will eventually process the large file after 4 when time delivery isn’t as important.
I would only need it to evaluate at the time the task ran, not continually (so it could change during execution of a job).