Hi Andrew,
in the default script, starting at line 1582 is where the job submission info file is created.
you just need to add the following.
submitInfoFile.writeln( “EnableAutoTimeout=true” );
But as I mentioned, this timeout is recalculated based on tasks that timeout. So if timeout is 2x, if task time is 10mins, timeout is set to 20mins. And when a task timeouts at 20mins, the timeout then gets recalculated to 40mins. For this reason, I added -
submitInfoFile.writeln( “OnTaskTimeout=Fail” );
This means the task timeouts, but says fails. Not very pretty, which is why I want to use the method mentioned earlier. Were you able to get that working?
In my case, I didn’t want to the auto timeout for all jobs… only ones with saber.
if( saber_found == true){
submitInfoFile.writeln( "OnTaskTimeout=Fail" );
submitInfoFile.writeln( "EnableAutoTimeout=true" );
}
saber_found is set using the following
var saber_found = false;
function retrieveProjectItems (itemType){
var typeOptions = new Array("Composition","Folder","Footage");
for(var t = 0; t < 3; t++){
if(itemType == typeOptions[t]){
var proj, itemTotal, curItem, itemAry;
itemAry = new Array();
proj = app.project;
itemTotal = proj.numItems;
for(var i = 1; i <= itemTotal; i++){
curItem = proj.item(i);
if(curItem.typeName == itemType){
itemAry[itemAry.length] = curItem;
}
}
return itemAry;
}
}
}
function grabAllEffects(myComps){
var totalLayerCount, curComp, myComps, myCompsLength, myEffectsLayerAry, np, curProp, propDepth;
myCompsLength = myComps.length;
myEffectsLayerAry = new Array();
for(c = 0; c < myComps.length; c++){
curComp = myComps[c];
totalLayerCount = curComp.numLayers;
for(l =1; l <= totalLayerCount; l++){
curLayer = curComp.layer(l);
np = curLayer.numProperties;
for (lp = 1; lp <= np; lp++){
curProp = curLayer.property(lp);
if(curProp.matchName == "ADBE Effect Parade"){
propDepth = curProp.numProperties;
if(propDepth > 0){
for(ep = 1; ep <= propDepth; ep++){
myEffectsLayerAry[myEffectsLayerAry.length] = {'fxN': curProp.property(ep).name, 'CompN': curComp.name};
}
}
}
}
}
}
return myEffectsLayerAry;
}
var myComps = retrieveProjectItems ("Composition");
var totalEffectCount, myEffectsArray
myEffectsArray = new Array();
myEffectsArray = grabAllEffects(myComps);
totalEffectCount = grabAllEffects(myComps).length;
for (var e = 0; e < totalEffectCount; e++){
if (myEffectsArray[e].fxN == "Saber"){
alert("Comp: " + myEffectsArray[e].CompN + " contains " + myEffectsArray[e].fxN + " plugin.\n\n" + "This causes some render tasks not to exit on certain nodes.\nAn auto timeout hascont been set.\n\n" + "NOTE: Ignore FAILED tasks as all frames should be rendered.\n\nContact support if all frames have not been rendered.");
saber_found = true;
break;
}
}