Refresh Tasks
A RefreshTask represents a scheduled or event-driven data refresh operation for an asset. It maps to the platform-specific concept of a reload task, scheduled refresh, or data pipeline execution.
RefreshTask
public class RefreshTask
{
public string Id { get; set; }
public List<RefreshTrigger>? Triggers { get; set; }
public ICollection<AdditionalMetadata>? AdditionalMetadata { get; set; }
}
| Property | Type | Description |
|---|---|---|
Id |
string |
Unique task identifier |
Triggers |
List<RefreshTrigger>? |
One or more triggers that activate this task |
AdditionalMetadata |
ICollection<AdditionalMetadata>? |
Platform-specific extras (e.g. retry policy, failure notifications) |
RefreshTrigger
A trigger defines when a RefreshTask runs — on a schedule or in response to another task completing.
public class RefreshTrigger
{
public string Id { get; set; }
public RefreshTriggerType Type { get; set; }
public ScheduleParameters? ScheduleParameters { get; set; }
public CompositeParameters? CompositeParameters { get; set; }
}
| Property | Type | Description |
|---|---|---|
Id |
string |
Unique trigger identifier |
Type |
RefreshTriggerType |
Whether this trigger is time-based or event-based |
ScheduleParameters |
ScheduleParameters? |
Populated when Type = Scheduled |
CompositeParameters |
CompositeParameters? |
Populated when Type = Composite |
RefreshTriggerType
| Value | Meaning |
|---|---|
Scheduled |
Runs at a fixed time or recurrence defined by a cron expression |
Composite |
Runs when one or more other RefreshTask objects complete successfully |
ScheduleParameters
Parameters for a time-based trigger.
| Property | Type | Description |
|---|---|---|
CronExpression |
string? |
Standard cron expression for recurrence (e.g. "0 6 * * 1-5" = weekdays at 06:00) |
Note
Some platforms express schedules with proprietary recurrence objects rather than cron expressions. The converter maps them to CronExpression where possible, and preserves the original format in AdditionalMetadata.
CompositeParameters
Parameters for an event-based trigger.
| Property | Type | Description |
|---|---|---|
DependentRefreshTaskIds |
List<string>? |
IDs of the RefreshTask objects whose completion activates this trigger |
Example
{
"id": "task-001",
"triggers": [
{
"id": "trigger-001",
"type": "Scheduled",
"scheduleParameters": {
"cronExpression": "0 5 * * *"
}
},
{
"id": "trigger-002",
"type": "Composite",
"compositeParameters": {
"dependentRefreshTaskIds": ["task-upstream-001"]
}
}
]
}
This task runs every day at 05:00 and also whenever task-upstream-001 completes.