Schedule synchronization
You can schedule synchronization operations, such as liveSync and reconciliation, using Quartz triggers. IDM supports simple triggers and cron triggers.
Use the trigger type that suits your scheduling requirements. Because simple triggers are not bound to the local timezone, they are better suited to scenarios such as liveSync, where the requirement is to trigger the schedule at regular intervals, regardless of the local time. For more information, see the Quartz documentation on SimpleTriggers and CronTriggers.
This section describes scheduling specifically for reconciliation and liveSync, and shows simple triggers in all the examples. You can use the scheduler service to schedule any other event by supplying a script in which that event is defined. For information about scheduling other events, see Schedule tasks and events.
Configure scheduled synchronization
Each scheduled reconciliation and liveSync task requires a schedule configuration, with the following format:
{
"enabled" : boolean, true/false
"type" : "string",
"repeatInterval" : long integer,
"repeatCount" : integer,
"persisted" : boolean, true/false
"startTime" : "(optional) time",
"endTime" : "(optional) time",
"schedule" : "cron expression",
"misfirePolicy" : "optional, string",
"invokeService" : "service identifier",
"invokeContext" : "service specific context info"
}
These properties are specific to the scheduler service, and are explained in Schedule tasks and events.
To schedule a reconciliation or liveSync task, set the invokeService
property to either sync
(for reconciliation) or provisioner
for liveSync.
The value of the invokeContext
property depends on the type of scheduled event. For reconciliation, the properties are set as follows:
{
"invokeService": "sync",
"invokeContext": {
"action": "reconcile",
"mapping": "systemLdapAccount_managedUser"
}
}
The mapping
is referenced by its name
in the mapping configuration.
For liveSync, the properties are set as follows:
{
"invokeService": "provisioner",
"invokeContext": {
"action": "liveSync",
"source": "system/ldap/account"
}
}
The source
property follows the convention for a pointer to an external resource object, and takes the form system/resource-name/object-type
.
When you schedule a reconciliation operation to run at regular intervals, do not set |
Schedule liveSync using the admin UI
To configure liveSync using the admin UI, set up a liveSync schedule:
-
From the navigation bar, click Configure > Schedules, and then click Add Schedule.
-
Complete the schedule configuration, and click Save.
For more information about these fields, see Configure Scheduled Synchronization.
The scheduler configuration assumes a
simple
trigger type by default, so theCron-like Trigger
field is disabled. You should use simple triggers for liveSync schedules to avoid problems related to daylight savings time. For more information, see Schedules and daylight savings time.By default, the admin UI creates schedules using the scheduler service, rather than the configuration service. To create this schedule in the configuration service, select the Save as Config Object option.
If your deployment enables writes to configuration files, this option also creates a corresponding
schedule-schedule-name.json
file in your project’sconf
directory.For more information on the distinction between the scheduler service and the configuration service, see Configure the scheduler service.