Skip to content

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

public enum RefreshTriggerType
{
    Scheduled,
    Composite
}
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.

public class ScheduleParameters
{
    public string? CronExpression { get; set; }
}
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.

public class CompositeParameters
{
    public List<string>? DependentRefreshTaskIds { get; set; }
}
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.