rrJob Module

rrJob is available for all python scripts in RR applications. It is already loaded / imported. It defines the job classes (e.g. _JobMinInfo, _JobBasic, … ), enumerations used by jobs settings, job related helper functions. Importing libpyRR3 in a Python interpreter will automatically import rrJob as well.

Functions

rrJob.exportJobAsXml((_JobSubmitter)job, (str)filename, (bool)withSettings, (bool)forceSettings) bool

Exports a job into an xml file that can be used as commandline parameter for the rrSubmitter or rrSubmitterconsole. Returns false, if it was unable to open/write the xml file.

Parameters:
  • job (_JobSend) – job information

  • withSettings (bool) – if True, then all rrSubmitter default settings are exported and set as well.If False, rrSubmitter will use the default settings (Like any other submission from your 3D/comp application).

  • forceSettings (bool) – If True, then you cannot change the settings via the rrSubmitter UI.**Note:** The submitter_last.txt preset or the render config might still change some settings if they are not allowed to be changed by a setting in these files.

rrJob.exportJobAsXml_MultiAdd((_JobSubmitter)job, (bool)withSettings)

used after exportJobAsXml_MultiStart() to add jobs for multi export.

Parameters:
  • job (_JobSend) – job information

  • withSettings (bool) – if True, then all rrSubmitter default settings are exported and set as well.If False, rrSubmitter will use the default settings (Like any other submission from your 3D/comp application).

rrJob.exportJobAsXml_MultiEnd((str)filename, (bool)joinSettings, (bool)forceSetting) bool

used after exportJobAsXml_MultiAdd() to finalize the XML multi job export. This three functions MUST be used together for a successfull export Returns false, if it was unable to open/write the xml file.

Parameters:

joinSettings (bool) – If True, all equal settings from all jobs are merged and displayed as ‘global’ in the rrSubmitter UI.per-job settings are stored in ‘CustomVars’ and applied at submission.

rrJob.exportJobAsXml_MultiStart()

used before exportJobAsXml_MultiAdd() and exportJobAsXml_MultiEnd() to start exporting multiple jobs at once

rrJob.getClass_JobBasics() _JobBasics

Returns a new instance of _JobBasics

rrJob.getClass_JobSend() _JobInfo

Returns a new instance of _JobSend

rrJob.getClass_SettingsOnly() _SettingsOnly

Returns a new instance of _SettingsOnly. It is used to modify jobs settings with libpyRR3._rrTCP.jobModify().

rrJob.jID2Str((int)jobID) str

Converts a job uint64 ID into a human redable string (shortened, mostly unique).

rrJob.jID2StrFull((int)jobID) str

Converts a job uint64 ID into a human redable string (unique).

Enumerations

_PrePostCommandType Class

class rrJob._PrePostCommandType

Example: rrJob._PrePostCommandType.pre

0

pre

1

post

2

finished

3

preview

4

none

_dataIDs Class

class rrJob._dataIDs

0

jlNone

1

jlMinInfo

2

jlBasic

3

jlSettings

4

jlSend

_LogMessage Class

class rrJob._LogMessage

Used for all job log messages and for commands send via python to a job.

Example:

>>> tcp.jobSendCommand(jobsApply, rrJob._LogMessage.lEnable, 0)

ID

Name

Description

0

lUnknown

none

1

lAbortedReservedClients

Abort reserved clients

2

lEnable

Enable

3

lDisable

Disable

4

lDisableAbort

Disable & Abort

5

lApproveMain

Approve Frames

6

lDisApproveMain

DisApprove Frames

7

lDelete

Delete

8

lAbort

Abort

9

lCheck

Check

10

lReset

Reset

11

lResetNDeleteFrames

Reset & Delete Frames

13

lChangeClientAssignment

Change Client Assignment

14

lClientRenderSuccessful

Render successful

15

lClientRenderAborted

Render aborted

16

l_Deprecated_Unused

Unknown log entry 16

17

lAutoDeleteAfterDays

Auto delete after days

18

lDeleteFrames

Delete (Placeholder) Frames

19

lAllFramesAssigned

All frames assigned

20

lSeqDivAdjusted

Sequence Divide adjusted

21

lClientReceiveJob

Receives Job

22

lChangeSettings

Settings Changed

23

lAllFramesDone

All frames done

24

lJobFinished

Job Finished

25

lClearErrormessages

Clear error messages

26

lJobSubmitted

Job was submitted

27

lsetSoftX64_deprecated

-Deprecated-

28

lsetSoftXAll_deprecated

-Deprecated-

29

lmoveJobs

moved in queue

30

lmarkFinished

User set job state to Finished

31

lDeassignClients

Deassign Clients

32

lEmitChange

Set Jobs ChangedInfo time

33

lExportDebug

Export Debug Info

34

lClientRenderAbortedLowMem

Low SysMemory, Aborted

35

lClientRenderAbortedFrozen

Frozen + Aborted

36

lClientRenderError

Error

37

lClientWait

Client Waits

38

lClientRenderAbortedHighCpu

Abort (High CPU usage of Artist)

39

lClientAbortedFrameTime

Aborted because frame time was to high

40

lAbortLowPriority

Abort by high priority job

41

lClientSegmentLessThanXs

Client rendered less than 60s.

42

lClearErrormessagesEnable

Clear error messages & enable

43

lFirstCheck

First check done

44

lClientRenderAbortedWorkinghours

Working hours, Aborted

45

lClientRenderAbortedProcessFound

Process Found, Aborted

46

lClientRenderAbortedReservedClient

Reserved Client, Aborted

47

lClientRenderAbortedHighPriorityJob

High Priority Job, Aborted

48

lClientRenderAbortedrrControl

rrControl, Aborted

49

lClientRenderAbortedAveraging

Client Averaging, Aborted

50

lClientRenderAbortedLicenseBlock

Free License, Aborted

51

lClientRenderAbortedLocalMachine

Local Artist, Aborted

52

lDisableTooManyCrashes

Disable - too many fails/crashes

53

lDisableNoFrames

Disable - no frames found

54

lDisableNoOutputDir

Disable - output dir not found

55

lDisableUNCFailed

Disable - UNC map failed

56

lDisableNoDriveSpace

Disable - fileserver share full

57

lClientAssignmentLost

Revert frame assignment A

58

lClientAssignmentWrong

Return frame assignment B

59

l_Deprecated_UnusedB

Unknown log entry 59

60

lClientKSOClose

Closing KSO scene

61

lClientRenderAbortedDisabled

Aborted, Client Disabled

62

lChangeSettingsSequence

Sequence Changed

63

lWaitForFinished

WaitFor-Job Finished

64

lDisableManyLimitsReached

Disable - too many limits reached (memory, time)

65

lAutoDeleteMaxReached

Deleted, max job setting reached

66

lClientCrashedKSOLogError

Error in log, Aborted

67

lDevDebugJob

DevDebug

68

lSetStatePostRenderScript

User set job state to Post-Render

69

lSetStateFinishedScript

User set job state to Finished Script

70

lReassignDeassigned

Reassign Deassigned

71

lClientRenderSuccessfulNoFrames

Render successful (NO FRAMES?)

72

lFrameSendTooManyTimes

A frame was send more than 7 times. Frame removed from job.

73

lDisable3TimesMoreSend

Disable - send 3 times more than frames to render

74

lStatusChange

Status change

75

lStatusChangeRequest

Status change Request

76

lSetParentjobFrameSet

Set framelist of parent job to missing frames

77

lApproveCloud

Approve for Cloud

78

lDisApproveCloud

DisApprove for Cloud

79

lApprovePreview

Approve Preview

80

lDisApprovePreview

DisApprove Preview

81

lApproveCustom

Approve Custom

82

lDisApproveCustom

DisApprove Custom

83

lIgnoreWaitFor

Ignore Wait For

84

lSetCustomVariables

Set custom variables

85

lChangeCommentInfo

Change Comment

_ErrorMessage Class

class rrJob._ErrorMessage

Used for all job error messages.

ID

Name

Description

0

eNone

none

1

eCrashed

failed

2

eOutputdirNotFound

Output directory not found

3

eNoFreeSpaceLeft

No drive space left in output folder. Job Disabled

4

eFileserverTimeDifference

Fileserver time difference

5

eNoFrameRendered

Job started multiple times, but no frame found. Job Disabled

6

eSeqDivAdjusted

Warning - Sequence divide was adjusted

7

eTooManyCrashes

Too many fails/crashes. Job Disabled

8

eSceneNotFound

Scene file not found

9

eRenderAppNotFound

Render application not found

10

eExecuteError

Execute Error

11

eClientNoLocalDriveSpaceLeft

No drive space left on client

12

eUNCMapFailed

User login failed

13

eNoRenderLicense

No render license (licenses tempor. reduced)

14

eClientRenderCrashed

Render failed

15

eSendToOften

Job send 3 times more than frames to render. Job Disabled

16

eClientLowSysMem

Aborted because system memory was low.

17

eClientRenderCrashedPermanently

Render failed - Permanently

18

eClientRenderFroze

Render froze

19

eRenderAppWrongVersion

No right version of render application found.

20

eClientNoRenderTimeIssue

Client got job multiple times, but no render time measured.

21

eDeprecated1

Unknown error 21

22

eDoublePostExecution

Post-script executed twice!

23

eAbortFrameTime

Aborted because max render time reached!

24

eClientFoundLogError

Log file contains error message!

25

eToManyLimitsReached

Thresholds (memory or time) reached too many times. Job Disabled

26

eCrashedKSOLogError

Aborted because an error was found in the render log!

27

eOutputdirNotFound_CacheServer

Cache output directory not found

28

eTooManyAborts

Job aborted too many times.

29

eSendToOften_Frame

A frame was send more than 7 times. Frame removed from job.

30

eNoGPUSetForThread

No GPU assigned for job thread.

31

eClientBrokenFrame

Broken frame error found.

_RROptions Class

class rrJob._RROptions

Example:

>>> job.rrOption(rrJob._RROptions.rroKeepSceneOpen)

ID

Name

Description

0

rroAbortLowJobs

Abort Jobs with Lower Priority

1

rroIgnoreCrashes

Ignore Crashes

2

rroAutoApprove

Approve All Automatically

3

rroIgnoreWaitFor

Ignore Wait For Jobs

4

rroPreviewRendering

Render Preview First

5

rroNoWebsiteJpegs

Do Not Show Preview Jpegs

6

rroNoFrameChecking

Do Not Check For Frames

7

rroLittleJob

Little Job

8

rroMultipleInstances_DeprecatedB

Deprecated

9

rroKeepSceneOpen

Keep Scene Open

10

rroAllowToDeleteCrashedFrame_unused

Allow to Delete Crashed Frames

11

rroLocalSceneCopy

Allow Local Scene Copy

12

rroTextureReplacements

Allow Texture Replacement

13

rroLocalRenderOut

Allow Local Render Out

14

rroPreviewGamma22

Linear color

15

rroCropEXR

Crop EXR

16

rroMultiOSScene

Multi OS Scenes

17

rroNoProcessTreeCheck

No Process Tree Check

18

rroOverwriteExisting

Overwrite existing files

19

rroNoFreezeDetection

No Freeze Detection

20

rroIsGPURender

GPU required

21

rroDisStartToEnd

Distribute Start To End

22

rroPreviewContiguous

Preview- Contiguous Frames

23

rroAutoRequiredMem

Auto-get Required Memory

24

rroIsOverrideSize_Deprecated

Deprecated

25

rroIsOverrideType_Deprecated

Deprecated

26

rroNoPerFrameLoop

No Frame by Frame Loop

27

rroOverrideImageSize_Deprecated

Override Image Size

28

rroLogWorkload

Log Render Workload

29

rroApprovalPreview

Require Approval After Preview

30

rroApprovalMain

Require Approval After All Frames

31

rroApprovalCloud

Require Approval For Cloud

32

rroGPUAppModeRequired

GPU in Appmode required

33

rroWaitForByFrame

Wait For Job By Frame

34

rroDeleteNotAllowed

Job not allowed to be deleted

_RRParams Class

class rrJob._RRParams

Example:

>>> job.rrParam(rrJob._RRParams.rrpRequiredMemoryGB)

ID

Name

Description

0

rrpPreviewNumberOfFrames

Number of Preview frames

1

rrpMaxClientsAtATime

Max Clients At A Time

2

rrpRequiredMemoryGB

Required Memory (GB)

3

rrpMaxFrameTime

Max Frame Time (minutes)

4

rrpMinFileSizeKb

Min File Size Kb

5

rrpMaxCrashes

Max Crashes (red log)

6

rrpMaxLimitsReached

Max Thresholds (frame time, sys memory)

7

rrpVerboseLevel

Render Verbose

  • Default

  • No Verbose

  • Errors & Warnings

  • Information

  • Progress

8

rrpRenderQuality

Render Quality

  • Default

  • Preview

  • Normal

  • Production

  • Best

9

rrpColor

Color

10

rrApproveJob_deprecated

Deprecated

  • -

  • AP

  • AFD

  • AB

11

rrReExecute

Re-Execute Job After Hours

12

rrpMultipleInstances

Start Multiple Instances

13

rrpOverrideImageWidth

Override Image Width

14

rrpOverrideImageHeight

Override Image Height

15

rrpOverrideCoreCount

Restrict Core Count

16

rrpOverrideMemoryGB

Restrict Memory (GB)

17

rrpRequiredGPUMemoryGB

Required GPU Memory (GB)

18

rrpRequiredCoreCount

Required Core Count

19

rrpAAsamplesMulti

AA Samples

  • 2x

  • 1.5x

  • 1x

  • 1/2

  • 1/4

20

rrpDeleteAfterDays

Delete job after days

_Status Class

class rrJob._Status

Example:

>>> if (myjob.status == rrJob._Status.sPreviewRender):  # ...

ID

Name

Description

0

sNone

20

sFirstCheck

Job was received, next server task is ‘first check’ to find output dir and existing files

40

sWaitForJobs

Disabled while waiting for other jobs

50

sSyncFilesPreviewRender

Copying Preview Files

60

sScriptPreRender

About to execute pre-render scripts

80

sPreviewRender

Job is rendering the preview frames

90

sScriptAfterPreview

About to execute after-preview scripts

100

sWaitForApprovalPreview

110

sSyncFilesMainRender

Copying Rendered Frames

120

sMainRender

Main render of all frames

130

sWaitforFiles

Waiting for rendered files

140

sScriptPostRender

About to execute post-render scripts

160

sWaitForApprovalDone

Waiting for user approval

180

sScriptFinished

About to execute finished scripts

200

sFinished

Job is done

_renderType Class

class rrJob._renderType

0

stUnset

1

stRender3D

2

stFileExport

3

stArchive

4

stComp

5

stExecute

6

stAppScript