Fix: Make initial Test/Power Frames ignore user maximum render time setting (#288)

This commit is contained in:
Luis Uguina
2020-08-30 00:13:20 +10:00
committed by GitHub
parent b5131098b7
commit 0b53177ab1

View File

@@ -272,7 +272,9 @@ import lombok.Getter;
getProcessRender().setProcess(os.exec(command, new_env)); getProcessRender().setProcess(os.exec(command, new_env));
BufferedReader input = new BufferedReader(new InputStreamReader(getProcessRender().getProcess().getInputStream())); BufferedReader input = new BufferedReader(new InputStreamReader(getProcessRender().getProcess().getInputStream()));
if (configuration.getMaxRenderTime() > 0) { // Make initial test/power frames ignore the maximum render time in user configuration. Initial test frames have Job IDs below 20
// so we just activate the user defined timeout when the scene is not one of the initial ones.
if (configuration.getMaxRenderTime() > 0 && Integer.parseInt(this.getId()) >= 20) {
timerOfMaxRenderTime = new Timer(); timerOfMaxRenderTime = new Timer();
timerOfMaxRenderTime.schedule(new TimerTask() { timerOfMaxRenderTime.schedule(new TimerTask() {
@Override public void run() { @Override public void run() {
@@ -396,7 +398,7 @@ import lombok.Getter;
log.debug("Job::render been asked to end render"); log.debug("Job::render been asked to end render");
long duration = (new Date().getTime() - process.getStartTime()) / 1000; // in seconds long duration = (new Date().getTime() - process.getStartTime()) / 1000; // in seconds
if (configuration.getMaxRenderTime() > 0 && duration > configuration.getMaxRenderTime()) { if (configuration.getMaxRenderTime() > 0 && duration > configuration.getMaxRenderTime() && Integer.parseInt(this.getId()) >= 20) {
log.debug("Render killed because process duration (" + duration + "s) is over user setting (" + configuration.getMaxRenderTime() + "s)"); log.debug("Render killed because process duration (" + duration + "s) is over user setting (" + configuration.getMaxRenderTime() + "s)");
return Error.Type.RENDERER_KILLED_BY_USER_OVER_TIME; return Error.Type.RENDERER_KILLED_BY_USER_OVER_TIME;
} }