Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Starting Situation

  • Jobs might want to add events.
  • A number of events might be available with JobScheduler and should be removed.

Use Cases

Add events from a job

The PowerShell CLI can be used by jobs to submit events. Usually separate job steps or monitor scripts are used as e.g. with

...

Instead of additional job steps or monitor scripts the Add-JobSchedulerEvent cmdlet can be used to create events directly within a job:

 


Code Block
languagepowershell
<?xml version="1.0" encoding="ISO-8859-1"?>
<job  order="yes" stop_on_error="no">
    <script  language="powershell">
        <![CDATA[
Import-Module JobScheduler

Add-JobSchedulerEvent -EventClass $spooler_task.order().job_chain().name() -EventId "started_$($spooler_job.name())"

echo "job: $($spooler_job.name())"

Add-JobSchedulerEvent -EventClass $spooler_task.order().job_chain().name() -EventId "completed_$($spooler_job.name())"
        ]]>
    </script>
    <run_time />
</job>

...

  • The job creates two events that signal start and completion of the job.
    • A common event class is used that is assigned the path of the job chain
    • Individual event ids are assigned that are created from the job name
  • All communication with the JobScheduler Supervisor or Master takes place by internal commands, no additional HTTP/HTTPS connection is used.

Manage events from the command line

The PowerShell CLI can be used to create, retrieve and remove events

...

  • The Add-JobSchedulerEvent cmdlet returns an event object that can be used for later pipelining
  • Event processing occurs asynchroneously, therefore newly created events might take some seconds to be available for retrieval..
  • The Get-JobSchedulerEvent cmdlet retrieves an array of event objects that are available with JobScheduler.
  • A previously created event object can be pipelined to the Remove-JobSchedulerEvent cmdlet.
  • In a more general sense all events as returned from Get-JobSchedulerEvent can be pipelined to the Remove-JobSchedulerEvent cmdlet.

...