PingIDM

Schedule synchronization

You can schedule synchronization operations, such as liveSync and reconciliation, using Quartz triggers. IDM supports SimpleTriggers and CronTriggers.

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.

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, refer to 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 "concurrentExecution" : true. This parameter enables multiple scheduled operations to run concurrently. You cannot launch multiple reconciliation operations for a single mapping concurrently.

Schedule liveSync using the admin UI

Starting with IDM 8.1, the legacy admin UI is deprecated and is no longer bundled with IDM. New deployments should use the Platform admin UI, which is the replacement for the legacy admin UI.

Both UIs are available as separate downloads from the Backstage download site:

Using the Platform admin UI

The Schedules tab lets you schedule both reconciliation and liveSync jobs. The Platform admin UI calls liveSync incremental reconciliation. To schedule liveSync for a connector:

  1. From the sidebar, click Provisioners, select the connector, select the object type, then click the Schedules tab.

  2. Next to Incremental Reconciliation, click Set Up to open the Schedule Incremental Reconciliation Job modal.

  3. Configure the frequency, either manually or using a cron expression:

    • To schedule manually, choose how often to run the job under Run every, and (optionally) set a start time and a repeat condition (a fixed number of times, until a specific date, or indefinitely).

    • To use a cron expression, enable Use cron, and enter the expression.

  4. Click Save.

    The Schedules tab also lets you configure LiveSync Failure Options and the retry count, and shows the current Sync Token used for incremental inbound reconciliation.

Using the legacy admin UI

The legacy admin UI uses the same schedule configuration for liveSync and for regular reconciliation schedules. To configure liveSync using the legacy admin UI, set up a liveSync schedule:

  1. From the navigation bar, click Configure > Schedules, and then click Add Schedule.

  2. Complete the schedule configuration, and click Save.

    For more information about these fields, refer to Configure Scheduled Synchronization.

    The scheduler configuration assumes a simple trigger type by default, so the Cron-like Trigger field is disabled. You should use simple triggers for liveSync schedules to avoid problems related to daylight savings time. For more information, refer to Schedules and daylight savings time.

    By default, the legacy 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’s conf directory.

    For more information on the distinction between the scheduler service and the configuration service, refer to Configure the scheduler service.