Tasks API
Learn about running Reltio background tasks and how to support LCA execution with reference attribute payloads.
A task is a Reltio REST API background process used when you have large tasks that cannot be completed within one REST request (for example, re-indexing).
LCA compatibility and reference attributes
The alwaysLoadReferenceAttributesInBulkUpdateTask parameter is treated as true by default when not present in the tenant's physical configuration. To disable this behavior, you must explicitly set the parameter to false under optionalParameters.
This ensures bulk tasks include reference attributes in the LCA input payload, similar to standard create and update operations standard create/update operations. Without this setting, or if explicitly disabled, background tasks may send incomplete entity payloads to LCA hooks, omitting reference attributes like MainSubstance.PreferredName, which can cause incorrect values to be calculated or applied.
This behavior affects the following background tasks:
EmailVerificationTaskGenerateReltioIdTaskLookupsSyncDataTaskReCleanseDataTaskReloadLookupsDataTaskRemoveEndDatesTaskSurrogateCrosswalksRecalculationTaskUpdateAttributesTask
For more information, see Tenant Configuration Parameters Reference.
Activity log behavior
UpdateAttributesTask) do not go into the activity log. Optionally, this behavior can be changed for ReCleanseDataTask, CassandraCrosswalksConsistencyTask, RelationsDuplicatesTask, RemoveAttributeDuplicatesTask, SurrogateCrosswalksRecalculationTask, DeleteEntitiesByTypeTask, PurgeSourceDataTask, MergeAutoMatchesTask, and RebuildMatchTableTask by setting the useActivityLogInTasks property to true in the physical tenant configuration. Task properties
Each task has the following properties:
Task Properties| Property | Description | Type |
|---|---|---|
id | Unique ID of the task. | String |
createdBy | ID of the user who created this task. | String |
createdTime | Timestamp when the task was created. | UTC timestamp, ms |
updatedBy | ID of the user who updated this task (for example, who canceled/paused the task). | String |
updatedTime | Timestamp when task was most recently updated. | UTC timestamp, ms |
name | Name of the task. | String |
startTime | Time when the task was started. | Date |
endTime | Time when the task was completed. | Date |
pausedTime | Time when task was paused (only for task with PAUSED status). | Date |
type | Type of task. | String |
parameters | Set of parameters of the task. | Map<String, String> |
createdOnHost | Host name of the API node where the task was created. | String |
executedOnHost | Host name of the API node where the task is being executed / was executed. | String |
status | Status of the task (see a list of possible statuses below). | String |
currentState | Set of fields which represent the current state of the task (for example: numberOfProcessedObjects). | Map<String, Object> |
duration | Duration of the task. | String |
parallelExecution | The task can be executed simultaneously with another task for the same tenant if this property is true. Otherwise, all tasks for the same tenant will be processed one by one (it does not matter how many API nodes are present in the cluster). Default is false. | Boolean |
nodesGroup | Determines the group of nodes where this task can be executed. Default group: | String |
numberOfFailedToPublishEvents | When some events generated by the task will fail to be submitted to an external event hub. | Integer |
Task statuses
CANCELINGCANCELEDCOMPLETEDCOMPLETED_WITH_ERRORSFAILEDPAUSEDPAUSINGPROCESSINGSCHEDULEDSCHEDULED_POLLWAITING_FOR_QUEUEWAITING_FOR_RESOURCE
For more information, see Status of an Export Task.
Execution behavior
A new task is put into the SCHEDULED tasks queue. Any free API node able to execute tasks will then start executing this task. Because each API node checks the scheduled tasks every five seconds, task execution may not occur immediately.