The job package consists of the following elements:
Job Description Language (JDL) code, consisting of a Python-based script containing the bits to control jobs.
An optional policy XML file, which applies constraints and other job facts to control jobs.
Any other associated executables or data files that the job requires.
The cracker.jdl sample job, for example, includes a set of Java code that discovers the user password in every configured agent before the Java class is run. Or, many discovery jobs, which measure performance of Web servers or monitor any other applications, might include resource discovery utilities that enable resource discovery.
Jobs include all of the code, policy, and data elements necessary to execute specific, predetermined tasks administered either through the ZENworks Orchestrator Console user interface or from the command line. Because each job has specific, predefined elements, jobs can be scripted and delivered to any agent, which ultimately can lead to automating almost any datacenter task.
Job packages also can contain optional XML .sched files that describe the scheduling requirements for any job. This file defines when the job is run.
For example, jobs might be run whenever an agent starts up, which is defined in the .shed file. The discovery job osInfo.job has a schedule XML file that specifies to always run a specified job whenever a specific resource is started and becomes available.