Specifications
serialized mode execution is serialized but consecutive invocations may happen in different
threads).
• The contents of the predefined global script variable “persistent” is preserved across all
invocations of entry points, whether from the same script instance or not (this persistence is
the reason why all invocations must happen in the same thread).
• The entry points initializeProcessing, finalizeProcessing and cleanupAfterAbort are invoked at
the appropriate times to help manage resources (such as an external application) that persist
across invocations of jobArrived and timerFired entry points.
• A new execution mode, called the multiple persistent allows the combination of concurrency
and persistency.
Execution group
The script declaration defines the execution group for all instances of the script package. The
execution group is a string that should be structured as a reverse domain name (similar to Java
packages) to avoid collision with other developer’s group names; for example:
“com.gradual.myProject.myExecutionGroup”.
If the value of this property is empty, the execution group name defaults to the script’s name
(the first property in the scripter’s declaration pane). This causes the script package to be in its
own execution group unless another script package declares the same script name (that is, there
is no strong protection against name collisions).
The precise interpretation of the execution group depends on the selected execution mode.
Concurrent
With concurrent execution mode, the execution group is not used.
Serialized
With serialized execution mode, a name collision between execution groups is mostly harmless
in the sense that nothing breaks, but there is a potential performance issue due to the fact that
the inadvertently colliding script instances can’t run concurrently. Thus, it is strongly recommended
that scripts intended for wide deployment provide a unique execution group name structured
as described earlier.
Persistent
With persistent execution mode, the execution group name should be unique to the script
implementation. A name collision between two script instances with a different implementation
has undefined (and most likely unpleasant) results. Thus it is strongly recommended that persistent
scripts provide a unique execution group name structured as described earlier.
Selecting the appropriate execution mode
The following table provides an overview of the execution modes and their typical uses.
Example usageInformation can be
preserved across
invocations
Instances in
same group
are serialized
Execution
mode
Gather metadata from the internal job
ticket of a job and produce an XML file (all
done in scripting)
NoNoConcurrent
357
Enfocus Switch 10










