To configure schedules navigate to the Settings tab and click on the Schedules section. This interface can be used to add, remove, and modify schedules.
The schedule editor has global controls and per schedule controls.
- Use the Name and Filter text boxes to find specific schedules if you have a large number of schedules created.
- Use the arrow in a circle icons to upload and download schedule settings as JSON files.
- Pressing the Save button will validate schedule settings, and if no errors are found, will save schedule settings.
- The Enabled checkbox under settings will enable or disable the scheduler globally.
- The Disable History checkbox will disable automatic data collection of run history information.
- The "New" buttons adds schedules and steps
All schedules are required to have a unique name. This allows them to be identified and selected in the UI.
When a schedule is created the start time list can be left empty. Schedules without a start time are available to run manually from the settings interface. This can be useful for queueing up a series of long running tasks to run unattended.
- Schedules can be expanded and collapsed by clicking the arrow next to the schedule name.
- Use the Enabled checkbox to enable and disable individual schedules. There is also a global Enabled checkbox for the whole scheduler.
- The "X" buttons deletes schedules and steps. When you remove a schedule it is permanently and immediately removed from Identity Panel.
- Drag and drop to re-order schedules and steps.
- The up and down arrows inside a circle will upload and download individual schedules as JSON files.
To run in the Scheduler service, a schedule must have at least one day-of-the-week checkbox selected, and at least one week-of-the-month checkbox selected, and must have a start time. If desired, a schedule can be configured to repeat at an interval until a given end time. Validation permits you to specify just a Start time, but if you specify a repeat interval, then you must provide values for all three time fields.
If a schedule is specified to run on a repeat interval, and the schedule is still running when the interval expires, then that iteration will be skipped. This prevents a rapidly repeating schedule from building up a long queue that consumes resources and potentially interferes with other schedules.
The week of the month is calculated based on seven-day intervals starting from the first day of the month. If the month starts on a Wednesday, then each week runs from Wednesday to Tuesday. This makes it possible, for example, to only run a schedule on the first Monday of the month, or the third Friday.
Day boundaries for schedules are selected based on the chosen time zone.
To run schedules concurrently, simply specify overlapping start times.
To add steps to a schedule, first select the type of step from the drop-down list, then press the Add button.
Typically schedules are editable and runnable by Identity Panel administrators. It is possible to configure a custom security role that is able to run and/or edit specific schedules.
To edit individual schedules a role must have write access to Schedule, but not Schedule – All. Then if the role is included in the Edit dropdown for that schedule, the user will be able to make modifications.
To trigger running of individual schedules a role must have read access to Schedule (but not Schedule - All), and write Schedule Instance, Step Instance, and Schedule Record.
The list of available steps depends on which modules have been installed. New steps can be added by implementing the schedule step interfaces.
Each schedule step has some settings that are general to all steps, and some that are step specific.
To run steps concurrently, select the Async checkbox in the step strip.
If steps have ASync selected, they will be started simultaneously. At the first step that is not-selected ASync, the scheduler will wait for all running ASync steps to complete. If two steps are mutually incompatible and both are selected ASync, then whichever step is placed first in the list will run to completion before the next step starts.
The preferred servers drop-down list is populated based on the servers that have Panel Tools installed. If this drop-down is left blank, the step will run on whichever Panel Service queries for pending steps first when the step is queued up to run. Otherwise, the scheduler will wait up to the Inactive Threshold (typically ten minutes), for the preferred service to query. Panel Service will continue to poll for available steps even while other steps are running.
If the inactive threshold is passed, the scheduler will check the value of the "Only Preferred" checkbox. If this is not selected, the step will be dispatched to a different Panel Service if one is available. Otherwise the step will wait indefinitely until one of the preferred services is available.
After a step has been dispatched to the Panel Service, but before it executes, the service uses the Rule Engine to evaluate the condition rule. The "context" for the rule is the settings for the step, but typically condition rules will not require Object Property lookups. For example, a condition rule might check the number of pending export deletes on an MA prior to executing an export run-profile step. If the condition rule is not defined, the step will run. Otherwise the step will only run if the condition rule is true. If the step does not run, the history counter will be set to Skipped.
Condition Rule Pauses Schedule
If the Condition Rule Pauses Schedule checkbox is selected, the entire schedule will be placed in a suspended state if the condition rule returns false. This can be used to detect critical conditions in schedule execution. It is also possible to use the workflow engine to send an alert when a schedule enters a paused state.
When a step completes, it returns a History Record representing the results of what it did. The type of history record depends on the step. For example, if the step executed a PowerShell script or a program, it will return a "Program History Record". If the step ran an MA, it will return an "MA Run Record". This history record is then used as the "context" for the Skip Rule. The Skip Rule is evaluated by the Panel Service immediately after the step completes. The result is coerced to a number, which determines how many queued steps to skip from that particular schedule. The Skip Rule is evaluated regardless of whether or not the step was run asynchronously, but steps that are already in-progress will not be cancelled.
A timeout may be configured which will cause the scheduler to stop waiting and move onto the next step. This timeout will not abort an in progress step that happens outside of the schedule environment, such as an MA run.
- ADFS Config Scan – Scan ADFS configuration elements into Time Traveler
- ADFS Log Scan – Scan ADFS claims as Time Traveler silos
- Azure Scan – PowerShell driven data collection of MSOnline directory and Office 365 Exchange
- Data Retention – Truncate Identity Panel history based on time range
- Directory Full Scan – Scan LDAP directory data into Time Traveler
- Download Report – Download report(s) to file system
- File Scan – Scan delimited text file as Time Traveler data
- Full Scan – Sync – Load data from MIM, AD Connect, FIM, etc. into Identity Panel
- MIM Portal Delta Scan – Load deltas of new requests since last Portal scan
- MIM Portal Scan – Examine all Portal objects for changes to send to Identity Panel
- Password History Scan – Scan MIM Password sync and reset events since last scan
- Pending Report – Report of pending import or export changes in MIM, FIM, or AD Connect
- Run MA – Run management agent run profile and collect results
- Run MA Delta Full Sync – Preview commit a full sync on each object in a pending state
- Truncate Ops Log – Managed MIM, FIM, or AD Connect operations log history
- Truncate Password Log – Manage MIM, FIM, or AD Connect password history log
- Run PowerShell – Run arbitrary PowerShell script
- Run Program – Run arbitrary executable
- SQL Scan – Scan relational database data into Time Traveler
- Send Email – Send email notification
- Send Report – Email report(s) to users
- Wait Delay – Wait for steps executing in parallel to finish, or wait for a delay period