Skip to main content
GuideServerConfigure and deploy Tabsdata servers on your machine.TutorialsConfigure data integration workflows within a running Tabsdata server.Advanced TutorialsBuild end-to-end workflows between two specific systems.API ReferenceCLI ReferenceRelease Notes
Version: 2.0.0

Schedule a Cron Trigger

A scheduled trigger runs a function at fixed times whether or not any upstream data changed. It is the right trigger for a publisher, which has nothing inside Tabsdata to signal that its external system has new rows.

Tabsdata reads every crontab schedule in UTC.

make read_orders in the sales collection run at the top of every hour

Needs a schedule on the publisher. Getting its guide.

Called tabsdata 2 times (ctrl+o to expand)

Generating — a CronTrigger with the mask 0 * * * *, which fires at minute 0 of every hour. Tabsdata reads the mask in UTC.

Called tabsdata 3 times (ctrl+o to expand)

The publisher, registered in sales:

@publisher(
source=MySQLSrc(
queries=["SELECT * FROM orders"],
),
output_tables=["orders"],
trigger_by=CronTrigger("0 * * * *"),
)
def read_orders(orders: TableFrameSpec) -> TableFrameSpec:
return orders

Called tabsdata 2 times (ctrl+o to expand)

Execution committed, 0 failures.

sales/orders is live — the schedule starts now and fires at the next hour boundary:

┌──────────┬─────────────────┐
  field         value      
├──────────┼─────────────────┤
 function  read_orders     
├──────────┼─────────────────┤
 mask      0 * * * *       
├──────────┼─────────────────┤
 timezone  UTC             
├──────────┼─────────────────┤
 enabled   true            
├──────────┼─────────────────┤
 next run  top of the hour 
└──────────┴─────────────────┘