Luis Uguina 8736892565 Fix: Job killed by time limit is incorrectly catalogued as NO_FILE_OUTPUT (#252)
As the value of the askForRendererKill flag is set right after the return of the kill process, under some particular memory and system load circumstances, a race condition occurs and the rendering process in the main thread is closed faster than the process.destroy() returns the control to the thread the called the OS.getOS().kill(process.getProcess()) method. If that condition occurs, the isAskForRendererKill() check returns false (the flag hasn't been set to True in the separate thread) and the execution continues with the frame output check (that doesn't exist as the rendering process was interrupted). The final outcome is a wrong NO_FILE_OUTPUT error instead of the proper RENDERER_KILLED_BY_USER_OVER_TIME.

The fix has been setting the askForRendererKill flag to true before the process is destroyed. If the racing condition occurs, the askForRendererKill will be correctly set.
2020-06-12 11:32:06 +02:00
2020-05-28 13:28:42 +02:00
2016-03-13 22:22:40 +01:00
2019-08-11 22:25:26 +02:00
2019-08-22 21:50:43 +02:00
2020-04-26 15:29:48 +02:00
2020-04-26 15:29:48 +02:00
2016-10-04 06:36:40 +02:00
2019-08-11 17:30:50 +02:00
2019-08-10 22:09:32 +02:00

SheepIt Render Farm Client

Build Status

Overview

SheepIt Render Farm Client is an Open Source client for the distributed render farm SheepIt.

Compilation

You will need Java 1.7 or higher. (OpenJDK and Oracle are both supported). To create the jar file, simply type ./gradlew shadowJar on linux/OSX and gradlew.bat shadowJar on Windows in the project's root directory.

Usage

Once you have the jar file, you can see how to use it by running:

java -jar build/libs/sheepit-client.jar --help

When you are doing development work, you can use a mirror of the main site specially made for demo/dev. The mirror is located at http://sandbox.sheepit-renderfarm.com, and you can use it by passing -server http://sandbox.sheepit-renderfarm.com to your invocation of the client.

At the command line ui (-ui text / -ui oneLine) you could type in the following commands and press enter to control the client:

  • status: get the current status of the client (paused, stoped, etc.)
  • priority : set the renderer process priority
  • block: block the current project
  • pause: pause the client to request new jobs after the current frame has finished to render
  • resume: resume the client after it was paused
  • stop: stop the client after the current frame has finished
  • cancel: cancel the stop request
  • quit: stop the client directly without finishing the current frame
Description
SheepIt client that saves project files to a separate location during processing.
Readme GPL-2.0 170 MiB
Languages
Java 98.4%
Shell 1.6%