Author Topic: retry frame after license error  (Read 8116 times)

Alul

  • Newbie
  • *
  • Posts: 1
retry frame after license error
« on: April 01, 2011, 09:53:24 AM »
Hello.
Is it possible to automatic retry of failed frame in case of getting license failure?
I'm asking about softimageSAP with standard mental ray render.
 

BrianK

  • Hero Member
  • *****
  • Posts: 107
Re: retry frame after license error
« Reply #1 on: April 05, 2011, 02:11:46 AM »
Hi Alul,

  There are two ways to approach this issue.  The first way is more direct and answers your question as you asked it.  You can retry work any time an application returns a non-zero exit status (which most programs do when they run into a problem) by setting the "Retry Frame/Work" field in the submission dialog to a whole number greater than 0.  Doing so will instantly retry the frame/chunk/partition as soon as it sees a non-zero exit.  It will do that up to the number of times you specify in that field.  If manages to make it through the the frame/chunk/partition without an error during one of the retries, all is well.  If it fails each time during the retry, the job is flagged as failed even if the rest of the frames/chunks/partitions completed successfully.

  You can avoid license errors in the first place by setting up the proper resource.  A detailed explanation of this is in the administration manual, Section 8; and the User manual, section 7.4 of the user manual), but I'll give you a quick overview here...

  Qube! can count the number of resources (a licenses is an example of a resource) it has & will prevent itself from attempting to use more resources than it has available.  The simplest resource is the global resource.  You set up a global resource by adding the resource definition to your supervisor's qb.conf.  An example:

supervisor_global_resources = global.mylicense=8

which can be done either by editing the qb.conf file, or by opening the GUI on the supervisor and choosing to Administration > Configure Local.  A supervisor restart is required after the resource is defined.

Doing this tells the Qube! supervisor that you have 8 instances of "mylicense" available.  "mylicense" can be any text - whatever makes sense to you.

Now when you submit a job, you can tell Qube! it must reserve one of those resources for every instance of the render on the farm by using the "Reservations" field in the submission dialog.  An example for this situation would be a reservation of:

global.mylicense=1

Now every time Qube! tries to run an agenda item/frame, it will check to see that there is an available "mylicense." Each time one is available, it will decrement the available count by 1.  Each time work finishes, is will increment the number available by 1.

You can go one step further, then, by opening the proper submission type dialog, setting that one reservations parameter, then click the "Preset set" button at the bottom of the dialog.  Close/reopen the GUI and now the reservation will be stored for every submission of this type.  You can even save that GUI configuration to a central location on your system and point all instances of the GUI at that central config so you don't have to make the change for every user's profile.

Have a look at the manual for a more detailed explanation & description of the other resource types - scoped and license. 

Let us know if you have any more questions.

Happy rendering!
-Brian