Post Job Script

Hi,



We’ve just upgraded to the 2.0 and I’m looking at using the Post Job Script to process our frames into quicktime (we don’t have digital fusion). Anyway, I’m getting an error which I’m sure is related to my inexperience with VB scripting. I get the following in the monitor:



Scheduler Thread - Error executing post job script: Line 25: Invalid procedure call or argument: ‘SlaveUtils.GetCurrentJobValue’ (ExocortexScripting.Exceptions.ScriptException)





The script line reads as follows:



OutputPath = SlaveUtils.GetCurrentJobValue(“OutputDirectories”)



Any ideas on what I’m doing wrong here (probably something real simple)



As a side thought, any chance of posting a sample post job script to pick apart?



Thanks.





Todd

Hi Todd,



Because the value being returned is an array, you have to declare

OutputPath before assigning it the list of output directories. Try this:



Dim OutputPath

OutputPath = SlaveUtils.GetCurrentJobValue( “OutputDirectories” )



You can output the first output path by using this:



RepositoryUtils.LogText "Output path 0 = " & OutputPath(0)





Perhaps in the future, we can post a sample post job script, either on

the forums or on the website.



Cheers,

  • Ryan

Ryan,



Unfortunately, I do have Dim Outputpath about six lines earlier. Sorry I didn’t post that, but here’s a bit more of the script:



Dim OutputPath

Dim OutputName1

Dim FramesList

Dim TaskCount



’ Get the various info needed from the Slave Process



OutputPath = SlaveUtils.GetCurrentJobValue(“OutputDirectories”)



The other 4 variables are also drawing additional info from the SlaveUtils, but it never gets past the first one.



I’ll look at your other suggestion and see if I can use it.



Thanks



Todd

Hi Todd,



Can you try this simple script:





RepositoryUtils.LogText “Getting output directories…”

Dim outputDirs

outputDirs = SlaveUtils.GetCurrentJobValue( “OutputDirectories” )

RepositoryUtils.LogText "Output path 0 = " & outputDirs(0)





That’s what I used to test your script code and it worked fine. Let me

know if this at least works for you.


  • Ryan

Let me ask this question first, is there a way to force the script to execute on a job already completed? Or do I have to requeue a small job every time to get it to test?

Unfortunately there isn’t. In future versions, the post job script will be its own seperate task, which will allow tests like this to go a lot smoother.





----- Original Message -----

From: Frantic_Deadline Listmanager

To: Recipients of ‘Frantic_Deadline’ suppressed

Sent: Thursday, March 09, 2006 2:01 PM

Subject: Post Job Script





From: Todd Peterson

Let me ask this question first, is there a way to force the script to execute on a job already completed? Or do I have to requeue a small job every time to get it to test?





To reply:Frantic_Deadline.390@support.franticfilms.com

To start a new topic:Frantic_Deadline@support.franticfilms.com

To view discussion: http://support.franticfilms.com/WB/?boardID=Frantic&action=9&read=107&fid=7

To (un)subscribe:Frantic_Deadline.list-request@support.franticfilms.com




Well, that would make debugging go a lot quicker. Anyway, looks like my problem may have been a format problem. It appears the scripting engine is Exocortex?



Anyway, the following line did not work:



OutputPath = SlaveUtils.GetCurrentJobValue(“OutputDirectories”)



Whereas the following line appears to have worked (ran into additional issues in the script beyond this)



OutputPath = SlaveUtils.GetCurrentJobValue( “OutputDirectories” )



Note the spaces around the “OutputDirectories” It did not throw an error this way anyway. I’ll keep plugging away at it.



THanks





Todd

Ryan,



So far I’ve got my script working fairly well. I would like to expand it a bit and I cannot find a function in the docs that would tell me the render frame resolution. Is there a deadline script function that will give me this? I can’t find that information in any of the .info or .job files I can access via scripting.



Thanks.



Todd

Hi Todd,



Unfortunately, there is not a function that does this. The frame

resolution is usually pulled from the scene itself, unless it is part of

the plugin specified properties for the job. Perhaps in the future,

plugin specific properties can be accessed from the post job script as well.



Cheers,

  • Ryan