AbortLevel in simple plugin

Hi !

I have a question regarding scripting with a simple plugin in Deadline 9.0.2.0.

I’m trying to use the AbortRender function with a AbortLevel minor, but I still get errors in the job reports. I add this code in a dedicated StdoutHandlerCallback

self.AbortRender("Minor Error: ", self.AbortLevel.Minor)

Is there something I’m doing wrong ?

Thanks for your help.

Hello Yann,

I am told by the devs that this error level should not make a error report at all, so that’s a bit confusing. Can you send over one of these error reports? Thanks

Hi Dwight,
Thanks for your help :slight_smile:

Here is the log on one task (we are using the Guerilla plugin, and the StdoutHandlerCallback is looking for ERROR pgLicenseCheck):

[code]=======================================================
Error

Yeti License Error:
at Deadline.Plugins.PluginWrapper.RenderTasks(String taskId, Int32 startFrame, Int32 endFrame, String& outMessage, AbortLevel& abortLevel)

=======================================================
Type

RenderPluginException

=======================================================
Stack Trace

at Deadline.Plugins.SandboxedPlugin.a(DeadlineMessage A_0)
at Deadline.Plugins.SandboxedPlugin.RenderTask(String taskId, Int32 startFrame, Int32 endFrame)
at Deadline.Slaves.SlaveRenderThread.a(TaskLogWriter A_0)

=======================================================
Log

2017-07-06 18:54:50: 0: Plugin will be reloaded because a new job has been loaded.
2017-07-06 18:54:50: 0: Loading Job’s Plugin timeout is Disabled
2017-07-06 18:54:51: 0: Loaded plugin Guerilla
2017-07-06 18:54:52: 0: Executing plugin command of type ‘Sync Files for Job’
2017-07-06 18:54:52: 0: All job files are already synchronized
2017-07-06 18:54:52: 0: Synchronizing Plugin Guerilla from \serveur\deadline_repository\plugins\Guerilla took: 0 seconds
2017-07-06 18:54:52: 0: Done executing plugin command of type ‘Sync Files for Job’
2017-07-06 18:54:52: 0: Executing plugin command of type ‘Initialize Plugin’
2017-07-06 18:54:52: 0: INFO: Executing plugin script ‘C:\Users\studio\AppData\Local\Thinkbox\Deadline9\slave\computer\plugins\595e0196ae967314f4c86c4a\Guerilla.py’
2017-07-06 18:54:52: 0: INFO: About: Guerilla Plugin for Deadline
2017-07-06 18:54:52: 0: INFO: Render Job As User disabled, running as current user ‘studio’
2017-07-06 18:54:52: 0: INFO: The job’s environment will be merged with the current environment before rendering
2017-07-06 18:54:52: 0: Done executing plugin command of type ‘Initialize Plugin’
2017-07-06 18:54:52: 0: Start Job timeout is disabled.
2017-07-06 18:54:52: 0: Task timeout is disabled.
2017-07-06 18:54:52: 0: Loaded job: sequence_shot__render__w023 (595e0196ae967314f4c86c4a)
2017-07-06 18:54:52: 0: Executing plugin command of type ‘Start Job’
2017-07-06 18:54:52: 0: Done executing plugin command of type ‘Start Job’
2017-07-06 18:54:52: 0: Plugin rendering frame(s): 224
2017-07-06 18:54:53: 0: Executing plugin command of type ‘Render Task’
2017-07-06 18:54:53: 0: INFO: Executing pre task script ‘\serveur\deadline_repository\custom\job_script\checkYetiLicenses.py’
2017-07-06 18:54:54: 0: INFO: YETI: There is enought licenses 1
2017-07-06 18:54:54: 0: INFO: Stdout Redirection Enabled: True
2017-07-06 18:54:54: 0: INFO: Stdout Handling Enabled: True
2017-07-06 18:54:54: 0: INFO: Popup Handling Enabled: False
2017-07-06 18:54:54: 0: INFO: Using Process Tree: True
2017-07-06 18:54:54: 0: INFO: Hiding DOS Window: True
2017-07-06 18:54:54: 0: INFO: Creating New Console: False
2017-07-06 18:54:54: 0: INFO: Running as user: studio
2017-07-06 18:54:54: 0: INFO: Setting GUERILLA environment variable to \serveur\studioBOX\apps\guerilla
2017-07-06 18:54:54: 0: INFO:
2017-07-06 18:54:54: 0: INFO: Executable: “\serveur\studioBOX\apps\guerilla\lua.exe”
2017-07-06 18:54:54: 0: INFO: Argument: “\serveur\path\06_GUERILLA\JOBS\170706_112142_sequence_shot__render__w023\sequence_shot__render__w023_002_00224.lua” “–progress=PROGRESS: %d%%”
2017-07-06 18:54:54: 0: INFO: Full Command: “\serveur\studioBOX\apps\guerilla\lua.exe” “\serveur\path\06_GUERILLA\JOBS\170706_112142_sequence_shot__render__w023\sequence_shot__render__w023_002_00224.lua” “–progress=PROGRESS: %d%%”
2017-07-06 18:54:54: 0: INFO: Startup Directory: “\serveur\path\06_GUERILLA\JOBS\170706_112142_sequence_shot__render__w023”
2017-07-06 18:54:54: 0: INFO: Process Priority: BelowNormal
2017-07-06 18:54:54: 0: INFO: Process Affinity: default
2017-07-06 18:54:54: 0: INFO: Process is now running
2017-07-06 18:54:54: 0: STDOUT: “”\serveur\studioBOX\apps\guerilla\render" “–version”"
2017-07-06 18:54:54: 0: STDOUT: ‘\serveur\path\06_GUERILLA\JOBS\170706_112142_sequence_shot__render__w023’
2017-07-06 18:54:54: 0: STDOUT: CMD.EXE a ‚t‚ d‚marr‚ avec le chemin d’accŠs comme r‚pertoire en
2017-07-06 18:54:54: 0: STDOUT: cours. Les chemins d’accŠs UNC ne sont pas prise en charge. Utilisation
2017-07-06 18:54:54: 0: STDOUT: du r‚pertoire Windows par d‚faut.
2017-07-06 18:54:54: 0: STDOUT: 07/06/2017 18:54:54 [??] INIT LOG: Guerilla Render 1.4.17 WIN64
2017-07-06 18:54:54: 0: STDOUT: Render RenderPass settings|general__settings__r001|shadows_matte
2017-07-06 18:54:54: 0: STDOUT: “”\serveur\studioBOX\apps\guerilla\render" “\serveur\path\06_GUERILLA\JOBS\170706_112142_sequence_shot__render__w023\sequence_shot__render__w023_00224_002_001_layer.rib.gz” “–progress” “PROGRESS: %d%%”"
2017-07-06 18:54:54: 0: STDOUT: ‘\serveur\path\06_GUERILLA\JOBS\170706_112142_sequence_shot__render__w023’
2017-07-06 18:54:54: 0: STDOUT: CMD.EXE a ‚t‚ d‚marr‚ avec le chemin d’accŠs comme r‚pertoire en
2017-07-06 18:54:54: 0: STDOUT: cours. Les chemins d’accŠs UNC ne sont pas prise en charge. Utilisation
2017-07-06 18:54:54: 0: STDOUT: du r‚pertoire Windows par d‚faut.
2017-07-06 18:54:54: 0: STDOUT: 07/06/2017 18:54:54 [??] INIT LOG: Guerilla Render 1.4.17 WIN64
2017-07-06 18:54:55: 0: STDOUT: 07/06/2017 18:54:55 [??] INIT WRN: Environment variable SPACE not defined
2017-07-06 18:54:56: 0: STDOUT: 07/06/2017 18:54:56 [??] INIT WRN: BOOTS use define chains : Variable _SetComponents_out1@_Passe used without been initialized
2017-07-06 18:54:59: 0: STDOUT: 07/06/2017 18:54:59 [??] RNDR LOG: PROGRESS: 0%
2017-07-06 18:55:25: 0: STDOUT: 07/06/2017 18:55:25 [??] RNDR LOG: PROGRESS: 1%
2017-07-06 18:55:51: 0: STDOUT: 07/06/2017 18:55:51 [??] RNDR LOG: PROGRESS: 2%
2017-07-06 18:56:18: 0: STDOUT: 07/06/2017 18:56:17 [??] RNDR LOG: PROGRESS: 3%
2017-07-06 18:56:40: 0: STDOUT: 07/06/2017 18:56:40 [??] RNDR LOG: PROGRESS: 4%
2017-07-06 18:57:05: 0: STDOUT: 07/06/2017 18:57:05 [??] RNDR LOG: PROGRESS: 5%
2017-07-06 18:57:26: 0: STDOUT: 07/06/2017 18:57:26 [??] RNDR LOG: PROGRESS: 6%
2017-07-06 18:57:51: 0: STDOUT: 07/06/2017 18:57:51 [??] RNDR LOG: PROGRESS: 7%
2017-07-06 18:58:16: 0: STDOUT: 07/06/2017 18:58:16 [??] RNDR LOG: PROGRESS: 8%
2017-07-06 18:58:37: 0: STDOUT: 07/06/2017 18:58:37 [??] RNDR LOG: PROGRESS: 9%
2017-07-06 18:59:02: 0: STDOUT: 07/06/2017 18:59:02 [??] RNDR LOG: PROGRESS: 10%
2017-07-06 18:59:24: 0: STDOUT: 07/06/2017 18:59:23 [??] RNDR LOG: PROGRESS: 11%
2017-07-06 18:59:46: 0: STDOUT: 07/06/2017 18:59:46 [??] RNDR LOG: PROGRESS: 12%
2017-07-06 19:00:11: 0: STDOUT: 07/06/2017 19:00:11 [??] RNDR LOG: PROGRESS: 13%
2017-07-06 19:00:31: 0: STDOUT: 07/06/2017 19:00:31 [??] RNDR LOG: PROGRESS: 14%
2017-07-06 19:00:55: 0: STDOUT: 07/06/2017 19:00:55 [??] RNDR LOG: PROGRESS: 15%
2017-07-06 19:01:17: 0: STDOUT: 07/06/2017 19:01:17 [??] RNDR LOG: PROGRESS: 16%
2017-07-06 19:01:30: 0: STDOUT: [Thu Jul 06 19:01:30 2017] Yeti 2.1.6: Yeti v2.1.6, built on Feb 1 2017 at 14:28:15
2017-07-06 19:01:30: 0: STDOUT: [Thu Jul 06 19:01:30 2017] Yeti 2.1.6: © 2010-Present Peregrine Labs a division of Peregrine Visual Storytelling Ltd. All rights reserved.
2017-07-06 19:01:30: 0: STDOUT: Yeti v2.1.6, built on Feb 1 2017 at 14:28:03
2017-07-06 19:01:30: 0: STDOUT: © 2010-Present Peregrine Labs a division of Peregrine Visual Storytelling Ltd. All rights reserved.
2017-07-06 19:01:30: 0: STDOUT: [Thu Jul 06 19:01:30 2017] Yeti 2.1.6: List of Available License Server Products
2017-07-06 19:01:30: 0: STDOUT: [Thu Jul 06 19:01:30 2017] Yeti 2.1.6: ERROR pgLicenseCheck - License system failed trying to checkout a license from 5053@SERVEUR-RENDU;C:/ProgramData/PeregrineLabs/rlm/ with error: All licenses in use (-22)
2017-07-06 19:01:30: 0: STDOUT: [Thu Jul 06 19:01:30 2017] Yeti 2.1.6: yeti_i version 2.0 expires on permanent
2017-07-06 19:01:30: 0: STDOUT: [Thu Jul 06 19:01:30 2017] Yeti 2.1.6: yeti_r version 2.0 expires on permanent
2017-07-06 19:01:30: 0: Done executing plugin command of type ‘Render Task’
2017-07-06 19:01:30: 0: An exception occurred: Yeti License Error:
2017-07-06 19:01:30: at Deadline.Plugins.PluginWrapper.RenderTasks(String taskId, Int32 startFrame, Int32 endFrame, String& outMessage, AbortLevel& abortLevel) (Deadline.Plugins.RenderPluginException)

=======================================================
Details

Date: 07/06/2017 19:01:35
Frames: 224
Elapsed Time: 00:00:06:42
Job Submit Date: 07/06/2017 11:23:30
Job User: name.lastname
Average RAM Usage: 3375476736 (10%)
Peak RAM Usage: 3448147968 (11%)
Average CPU Usage: 89%
Peak CPU Usage: 100%
Used CPU Clocks (x10^6 cycles): 11344687
Total CPU Clocks (x10^6 cycles): 12746840

=======================================================
Slave Information

Slave Name: computer
Version: v9.0.2.0 Release (89e276a72)
Operating System: Windows 7 Professionnel (SP1)
Running As Service: No
Machine User: studio
IP Address: 172.20.8.162
MAC Address: 44:8A:5B:66:42:62
CPU Architecture: x64
CPUs: 8
CPU Usage: 100%
Memory Usage: 3.2 GB / 31.9 GB (10%)
Free Disk Space: 34.821 GB
Video Card: Intel® HD Graphics 4600
[/code]

When the string is catched here is the executed function:

    def HandleYetiLicenseError( self ):
        self.AbortRender("Yeti License Error: ", self.AbortLevel.Minor)

Let me know if you want anything else !

Hi !

Just want to see if someone have any clue or if something is wrong in my function. Thanks !

Sorry on the delay here. You’re definitely doing it right according to the documentation, so I’d say keep it as it is.

Is there a particular reason you’d like to requeue the task but not log it? Mostly just curious here.

Hi Edwin,

Thanks for the update.

We are using that, because we have a license issue between Guerilla Render and Yeti. Guerilla is not aware when there is not enough Yeti render license, and Yeti do not warn Guerilla to stop the render. So we monitoring the output logs to catch by ourself the license error. We don’t want to generate an error, because this is not a render issue, we just need to requeue the task.

It’s not perfect, but it’s working in our case. :slight_smile:

Okay, we’ll see about fixing the core code so it follows the specification again.

Cool, thanks Edwin.

Hi,

I know it’s a very old thread, but I’m facing the exact same problem using Deadline 8.0.19
Has this issue been resolved?

Thanks,
hollov