17th September 2019 at 4:15 pm #21993
we are using only one Template per Application (and versions) in Muster (i.e. one for Maya, one for Cinema4D…). Everything works nicely, application executables are selected in the template in onGetApplicationPath and onGetApplicationStartingFolder depending on a custom template field like this:
MTemplateAPI.MTemplateItemString("SOFTWARE_VERSION", "Software version", "Software version", "", 0, 0, 0)
We have one problem with this approach though: We have a different number of licenses for certain versions of the softwares (e.g. unlimited licenses for Cinema4D R18, but only 10 licenses for R19.
I tried to do the same as for selecting the correct executable depending on the SOFRWARE_VERSION template field, but it seems that
only works when called in the __init__ method of the template, because I guess it is then run in Dispatcher Context and not in Instance Context as the other functions. Am I right?
So my questions are:
* Is there a possibility to call setMaximumInstances or setMaximumLicenses in any other Method in a Template.
* Do you have any recommendations to manage the maximum instance count depending on version from within a template?
Claus18th September 2019 at 11:08 am #22032
Best thing under that circumstances is to use multiple templates for multiple versions. Otherwise, you can check the licensing limits on your own using onValidateJobDependancies , in that function, you can check how many clients are rendering a certain engine on the jobs, and allow on deny the job/chunk.18th September 2019 at 5:52 pm #22045
thanks for your reply. The way with the multiple templates is what I ended up doing. To make it as simple as possible (for anyone interested), I derived the new templates with different license restrictions from the base template class, so it inherits everything. The only thing I do* then is to call setMaximumLicenses in the __init__() of the template (after a super() call, of course).
* Of course, there are other things to do, like assign a different template name and ID to it, and set a different license group (depending on if the different versions have the same license group or not.
You must be logged in to reply to this topic.