Table of Contents |
---|
Scope
- JobScheduler is evolving towards an architecture that allows more flexible use with Agents.
- Find an overview of supported languages for jobs that make use of JobScheduler APICOM components.
Language Overview
Master | Agent | |||||||
---|---|---|---|---|---|---|---|---|
Language | Architecture | Language | Architecture | Comment | ||||
VBScript | JVM + Master 64bit
| ScriptControl:VBScript | No support for JVM + Agent 64bit |
| ||||
JVM + Master 32bit
| JVM + Agent 32bit
|
| ||||||
PowerShell | JVM + Agent 64bit
|
| ||||||
JVM + Agent 32bit
| ||||||||
dotnet (.NET) | same architectures as PowerShell |
|
Examples
- Examples are available for download from scripting.zip
- Unzip the archive in the
./config/live
folder of your JobScheduler Master, a sub-directoryscripting
will be created for job-related objects.
COM component for examples
- From the attached archive scripting.zip register the COM component
ComComponent.dll
that implements a sample class. The .dll has been compiled using the AnyCPU model and has to be registered by the user. - Register the COM component for your respective architecture. The path to the .NET Framework might be different for your environment:
- 32bit
C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe ComComponent.dll /codebase /tlb /nologo
- 64bit
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm.exe ComComponent.dll /codebase /tlb /nologo
- 32bit
- To later on remove the registration use
regasm.exe ComComponent.dll /u
VBScript jobs calling COM components
VBScript job for Master
- This example works for a JobScheduler Master 32bit and 64bit
- The above COM component
ComComponent.dll
has to be registered for the respective architecture
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<job title="Master runs VBScript that calls a COM component" order="no" stop_on_error="no" tasks="1"> <params/ > <script language="vbscript"> <![CDATA[ Set fso = CreateObject ("Scripting.FileSystemObject") Set stdout = fso.GetStandardStream (1) Set stderr = fso.GetStandardStream (2) dim objTest, intResult Set objTest = CreateObject ("ComComponent.ComClassExample") intResult = objTest.AddTheseUp (100, 200) stdout.WriteLine "running VB job: " & intResult ]]> </script> <run_time /> </job> |
VBScript Job for Agent
- This example works for a 32bit Agent
- The above COM component
ComComponent.dll
has to be registered for the 32bit architecture - Basically the job script is the same as for the Master, consider use of the language
scriptcontrol:vbscript
and the assignment of a process class that points to an Agent.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<job title="Agent runs VBScript that calls a COM component" order="no" stop_on_error="no" tasks="1" process_class="Agent"> <params /> <script language="scriptcontrol:vbscript"> <![CDATA[ Set fso = CreateObject ("Scripting.FileSystemObject") Set stdout = fso.GetStandardStream (1) Set stderr = fso.GetStandardStream (2) dim objTest, intResult Set objTest = CreateObject ("ComComponent.ComClassExample") intResult = objTest.AddTheseUp (100, 200) stdout.WriteLine "running VB job: " & intResult ]]> </script> <run_time /> </job> |
PowerShell jobs calling COM components
PowerShell Job for Agent
- This example works for Agents 32bit and 64bit (depending on the JVM architecture in use)
- The above COM component
ComComponent.dll
has to be registered for the respective architecture - For details on the use of the JobScheduler API see PowerShell Jobs
...