Synchronize Job Data (Workflow Manager)

Summary

Synchronizes multiple Workflow Manager (Classic) repositories participating in a Workflow Manager (Classic) cluster. The tool performs two-way synchronization; changes from the child repositories are sent to the parent repository and changes from the parent are sent to all child repositories.

You must have ArcGIS Workflow Manager (Classic) Server installed and configured across all participating nodes to run this tool.

Learn more about Workflow Manager (Classic) replication

Usage

  • This tool can only be used for connected child repositories. For disconnected child repositories, you can use the Export Job Data and Import Job Data tools.

  • The changes from all child repositories are sent to the parent repository for consolidation. These consolidated changes, along with changes made in the parent repository, are then sent to all the child repositories in the cluster.

  • The parent and child Workflow Manager (Classic) services must be online to synchronize changes.

Syntax

arcpy.wmx.SynchronizeJobData(Input_Parent_Repository_URL, Input_Parent_Repository_Name, Input_Multi_Name)
ParameterExplanationData Type
Input_Parent_Repository_URL

The URL for the parent repository will be the Workflow Manager (Classic) server URL, for example, http://localhost/arcgis/rest/services/parent/wmserver.

String
Input_Parent_Repository_Name

The parent repository that will distribute the Workflow Manager (Classic) jobs and configuration elements.

String
Input_Multi_Name
[[child_repository, connected, URL, last_sync_time],...]

The child repositories that will be updated with the parent repository configuration.

  • child_repository—The name of the child repository. This must be a connected repository.
  • connected—The only accepted value is "true". If any other value is provided, the child will not be synchronized.
  • URL—The URL of the child repository.
  • last_sync_time—The date and time in the system format. For example, if your system data and time format is MM:DD:YY HH:MM:SS, the value will be 08/01/2013 11:30:45.

Value Table

Derived Output

NameExplanationData Type
Output_SynchronizeReplicaStatus

The result of the synchronization operation. Returns 0 if successful.

Long
Output_LastSync

A table view of job synchronization information.

Value Table

Code sample

SynchronizeJobData example (stand-alone script)

In this example, changes made in the Workflow Manager (Classic) repositories are synchronized between two repositories.

# Import arcpy module
import arcpy

# Check out any necessary licenses
arcpy.CheckOutExtension("JTX")

# Local variables:
Input_Parent_Repository_URL = "http://ServerName/arcgis/rest/services/ServerObjectName/WMServer"
Input_Parent_Repository_Name = "Redlands_Repository"
Input_Multi_Name = "Ohio_Repository true http://ohioServer/arcgis/rest/services/SO/WMServer 2011-08-08 12:00;AZ_Repository true http://AZServer/arcgis/rest/services/SO/WMServer 2011-08-08 12:00"

# Process: Synchronize Job Data
arcpy.SynchronizeJobData_wmx(Input_Parent_Repository_URL, 
                             Input_Parent_Repository_Name, 
                             Input_Multi_Name)

Environments

This tool does not use any geoprocessing environments.

Licensing information

  • Basic: No
  • Standard: Requires Workflow Manager
  • Advanced: Requires Workflow Manager

Related topics