Skip to content

Trigger Chain Scheduling

Trigger Chain Scheduling lets you run your trigger chains automatically at set intervals — every few minutes, every few hours, once a day, or once a week. Instead of manually clicking “Run” every time you want your pipeline to execute, you set up a schedule once and RTILA X handles the rest.

This is the same scheduling system used for project runs (see Task Scheduler), but applied specifically to trigger chains. You can schedule a trigger chain to run independently of any project, on its own timeline.

New in v8.3.2: Trigger Chain Scheduling is a brand-new feature. Previous versions of RTILA X only allowed scheduling project runs. Now you can schedule entire post-processing pipelines to run on their own schedule.

Trigger Chain Schedules tab showing a table of scheduled chains with frequency, status, and next run time

Use Case Example
Hourly data sync Run a trigger chain every hour to sync scraped data to a database
Daily report generation Run a chain every morning at 9 AM to generate and email a report
Weekly data processing Run a chain every Monday to process the week’s accumulated data
Periodic API polling Run a chain every 15 minutes to check an external API
Scheduled file uploads Run a chain every 6 hours to upload accumulated files to cloud storage

Here’s the complete lifecycle of a scheduled trigger chain run:

  1. You create a schedule. You define when the chain should run (e.g., every 30 minutes, daily at 9 AM).
  2. The cron job checks every minute. RTILA X’s internal scheduler checks every minute whether any schedules are due to run.
  3. Due schedules are detected. If a schedule’s next_run_at time has passed and the schedule is enabled, it’s flagged as due.
  4. The chain status is verified. RTILA X checks that the trigger chain has status “active.” Inactive or paused chains are skipped.
  5. Duplicate runs are prevented. RTILA X checks whether the chain already has a pending or running job. If so, the scheduled run is skipped to prevent duplicates.
  6. A run record is created. A new trigger chain run record is created with triggered_by: "scheduler".
  7. The job is queued. A queue record is created and the relay engine picks it up for execution.
  8. The schedule is updated. The schedule’s last_run_at is updated to the current time, and next_run_at is recalculated based on the schedule type.
  9. A notification is sent (if enabled). If the schedule has notifications enabled, you receive a notification when the run starts.

RTILA X supports four schedule types:

Schedule Type Description Configuration Required
Every X Minutes Runs the chain every N minutes Enter the interval (e.g., 5 for every 5 minutes)
Every X Hours Runs the chain every N hours Enter the interval (e.g., 6 for every 6 hours)
Daily Runs the chain once per day at a specific time Set the time (e.g., 09:00 for 9 AM)
Weekly Runs the chain once per week on a specific day at a specific time Set the day of week and time

Every X Minutes

Setting Description Example
Interval Number of minutes between runs 5 = every 5 minutes

Example: If you set the interval to 15, the chain runs every 15 minutes: 9:00, 9:15, 9:30, 9:45, and so on.

Every X Hours

Setting Description Example
Interval Number of hours between runs 6 = every 6 hours

Example: If you set the interval to 6, the chain runs every 6 hours: 12:00 AM, 6:00 AM, 12:00 PM, 6:00 PM.

Daily

Setting Description Example
Time The time of day to run (24-hour format) 09:00 = 9:00 AM

Example: If you set the time to 09:00, the chain runs every day at 9:00 AM.

Weekly

Setting Description Example
Day of Week Which day to run (Sunday = 0, Monday = 1, …, Saturday = 6) 1 = Monday
Time The time of day to run (24-hour format) 09:00 = 9:00 AM

Example: If you set day of week to 1 (Monday) and time to 09:00, the chain runs every Monday at 9:00 AM.

Every trigger chain schedule has the following fields:

Field Type Required Default Description
trigger_chain Relation ✅ Yes — The trigger chain this schedule belongs to. Automatically set when you create the schedule from a chain.
schedule_type Select ✅ Yes — The type of schedule: minutes, hours, daily, or weekly.
interval Number If minutes/hours — The number of minutes or hours between runs. Only used for minutes and hours schedule types.
time Text If daily/weekly — The time of day to run, in 24-hour format (e.g., 09:00). Only used for daily and weekly schedule types.
day_of_week Number If weekly — The day of the week to run (0 = Sunday, 1 = Monday, …, 6 = Saturday). Only used for weekly schedule type.
last_run_at Date No — The date and time of the last scheduled run. Automatically updated by the system.
next_run_at Date No — The date and time of the next scheduled run. Automatically calculated by the system.
notifications Boolean No true Whether to send notifications when the scheduled run starts and completes.
enabled Boolean No true Whether the schedule is active. If disabled, the chain won’t run on schedule.
created Date Auto — When the schedule was created. Automatically set by the system.
  1. Go to Task Scheduler in the sidebar (the calendar icon).
  2. You’ll see two tabs at the top:
    • Project Schedules — Schedules for project runs
    • Trigger Chain Schedules — Schedules for trigger chains
  3. Click the Trigger Chain Schedules tab.

Task Scheduler page showing the two tabs with Trigger Chain Schedules tab selected

The table shows all your trigger chain schedules with the following columns:

Column Description
Chain Name The name of the trigger chain this schedule belongs to
Frequency A human-readable description of the schedule (e.g., “Every 5 minutes”, “Daily at 09:00”)
Total Runs The total number of times this chain has been run
Last Run Status The status of the most recent run (completed, failed, etc.)
Active Whether the schedule is currently enabled or disabled
Next Scheduled Run The date and time of the next scheduled run
Actions Buttons for editing, deleting, and toggling the schedule
Schedule Configuration Displayed As
Every 5 minutes “Every 5 minute(s)”
Every 2 hours “Every 2 hour(s)”
Daily at 09:00 “Daily at 09:00”
Weekly on Monday at 09:00 “Weekly on Monday at 09:00”
Weekly on Friday at 17:30 “Weekly on Friday at 17:30”
  1. Go to Trigger Chains in the sidebar.
  2. Select the trigger chain you want to schedule.
  3. Click Schedule in the ribbon toolbar.
  4. The Trigger Chain Schedule dialog opens.
  5. Configure the schedule settings.
  6. Click Save.
  1. Go to Task Scheduler in the sidebar.
  2. Click the Trigger Chain Schedules tab.
  3. Click New Trigger Chain Schedule.
  4. Select the trigger chain from the dropdown.
  5. Configure the schedule settings.
  6. Click Save.

When you create or edit a schedule, you’ll see the following fields:

Setting When to Configure Description
Trigger Chain Always Select which trigger chain to schedule
Schedule Type Always Choose: Every X Minutes, Every X Hours, Daily, or Weekly
Interval If Minutes or Hours Enter the number of minutes or hours
Time If Daily or Weekly Enter the time in 24-hour format (e.g., 09:00)
Day of Week If Weekly Select the day of the week
Send notifications Always Toggle notifications on or off
Enabled Always Toggle the schedule on or off
  1. Select Every X Minutes as the schedule type.
  2. Enter the interval in minutes (e.g., 5 for every 5 minutes).
  3. The chain will run every N minutes starting from when the schedule is created.
  1. Select Every X Hours as the schedule type.
  2. Enter the interval in hours (e.g., 6 for every 6 hours).
  3. The chain will run every N hours starting from when the schedule is created.
  1. Select Daily as the schedule type.
  2. Enter the time of day to run (e.g., 09:00 for 9:00 AM).
  3. The chain will run every day at that time.
  1. Select Weekly as the schedule type.
  2. Select the day of the week from the dropdown.
  3. Enter the time of day to run (e.g., 09:00).
  4. The chain will run every week on that day at that time.

You can enable or disable a schedule without deleting it. This is useful when you want to temporarily pause a schedule without losing its configuration.

  1. Go to Task Scheduler → Trigger Chain Schedules tab.
  2. Find the schedule you want to toggle.
  3. Click the toggle switch in the Active column.
  4. The schedule is immediately enabled or disabled.
Aspect Behavior
Schedule configuration Preserved — all settings are kept
Next run Skipped — the chain won’t run on schedule
Last run data Preserved — you can still see when it last ran
Manual runs Still possible — you can still run the chain manually
Re-enabling Click the toggle again to re-enable
Aspect Behavior
Next run time Recalculated based on the schedule type
Next run Will run at the next scheduled time
Missed runs Skipped — runs that were missed while disabled are NOT retroactively executed
  1. Go to Task Scheduler → Trigger Chain Schedules tab.
  2. Find the schedule you want to edit.
  3. Click the edit icon (pencil) in the Actions column.
  4. The Schedule Configuration dialog opens with the current settings.
  5. Modify the settings.
  6. Click Save.
Setting Editable? Notes
Trigger Chain ❌ No The chain assignment is fixed. Create a new schedule for a different chain.
Schedule Type ✅ Yes You can change from minutes to daily, etc.
Interval ✅ Yes Change the number of minutes or hours
Time ✅ Yes Change the time of day
Day of Week ✅ Yes Change the day of the week
Notifications ✅ Yes Toggle notifications
Enabled ✅ Yes Toggle the schedule

When you edit a schedule:

  • The next_run_at time is recalculated based on the new settings.
  • The change takes effect immediately.
  • The next run will happen at the newly calculated time.
  1. Go to Task Scheduler → Trigger Chain Schedules tab.
  2. Find the schedule you want to delete.
  3. Click the delete icon (trash) in the Actions column.
  4. A confirmation dialog appears.
  5. Click Delete to confirm.
Aspect Behavior
Schedule record Permanently deleted from the database
Chain configuration NOT affected — the trigger chain itself is not deleted
Past run history NOT affected — past runs are preserved
Future runs No more scheduled runs will occur
Manual runs Still possible — you can still run the chain manually

Warning: Deleting a schedule is permanent. If you just want to temporarily pause a schedule, disable it instead of deleting it.

Behind the scenes, RTILA X runs an internal cron job called runDueTriggerChainSchedules that processes due schedules every minute.

  1. Runs every minute. The cron job executes once per minute (* * * * *).
  2. Finds due schedules. It queries the database for all trigger chain schedules where:
    • next_run_at is less than or equal to the current time
    • enabled is true
  3. For each due schedule, it: a. Verifies the trigger chain exists and has status active. b. Checks if the chain already has a pending or running job (to prevent duplicates). c. Creates a new trigger chain run record with triggered_by: "scheduler". d. Creates a queue record with type trigger_chain_run. e. Updates the schedule’s last_run_at to the current time. f. Recalculates next_run_at based on the schedule type. g. Sends a notification if notifications are enabled.

When the cron job recalculates next_run_at, it uses the following logic:

Schedule Type Calculation
Every X Minutes Current time + X minutes
Every X Hours Current time + X hours
Daily Next occurrence of the specified time. If today’s time has passed, schedules for tomorrow.
Weekly Next occurrence of the specified day and time. If this week’s time has passed, schedules for next week.

The cron job prevents duplicate runs by checking for existing pending or running jobs:

  1. Before creating a new run, it queries the queue for any pending or running jobs for the same trigger chain.
  2. If a pending or running job exists, the scheduled run is skipped.
  3. A log message is recorded: “Trigger chain [ID] already has a pending/running job. Skipping schedule.”

This prevents the same chain from being queued multiple times if the cron job runs while a previous run is still in progress.

When a scheduled run starts and notifications are enabled:

Notification Title Message Type
Run started “Trigger Chain Schedule Started” “Trigger chain ‘[Chain Name]’ has started.” info

When the run completes:

Run Status Notification Title Message Type
completed “Trigger Chain” “Trigger chain ‘[Chain Name]’ completed successfully.” success
failed “Trigger Chain” “Trigger chain ‘[Chain Name]’ failed.” error
Note Description
Computer must be on Scheduled runs only execute when your computer is running RTILA X. If your computer is off or sleeping, the scheduled run is missed.
Missed runs are skipped If a scheduled run is missed (computer was off), it is NOT retroactively executed when the computer turns back on.
Chain must be active Only trigger chains with status “active” will be scheduled. Draft or paused chains are skipped.
One schedule per chain Each trigger chain can have only one schedule. Creating a new schedule for a chain replaces the existing one.
Timezone Schedule times use your computer’s local timezone.
Interval minimum The minimum interval is 1 minute. You cannot schedule runs more frequently than once per minute.
Tip Why It Matters
Start with a longer interval Test with a longer interval (e.g., every 30 minutes) before shortening it.
Use daily schedules for reports Daily schedules are ideal for generating and sending daily reports.
Use weekly schedules for batch processing Weekly schedules work well for processing accumulated data.
Enable notifications Notifications let you know when scheduled runs start and complete without checking manually.
Disable instead of deleting If you need to temporarily stop a schedule, disable it instead of deleting.
Monitor the Last Run Status Check the Last Run Status column regularly to catch failures early.
Use descriptive chain names Name your chains clearly so you can identify them in the scheduler table.
Test manually first Run the chain manually before scheduling it to verify it works correctly.
Avoid very short intervals Very short intervals (every 1–2 minutes) can put load on your system. Use them only when necessary.
Check your computer’s sleep settings If your computer goes to sleep, scheduled runs will be missed. Adjust your power settings if needed.