Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
Skip to content
World desk5 min

Airflow Assets vs. Cron: Choose by Data Readiness or Run Time

Airflow assets trigger downstream work from successful data updates; cron runs on a recurring time cadence. Learn when to use each and what to check across Airflow versions.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use an Airflow asset schedule when a downstream DAG should become eligible after upstream data is successfully updated. Use cron when the DAG must run at recurring wall-clock times, whether or not new data arrived. If you need both behaviors, Airflow provides AssetOrTimeSchedule. Before changing a cron schedule, check your Airflow version and timetable semantics: Airflow 2.x and Airflow 3 use different defaults for bare cron strings.

What is the difference between Airflow assets and cron?

Assets express a relationship between data-producing and data-consuming workflows: a successful producer task updates a declared asset, which can make a consumer DAG eligible to run. Cron expresses a recurring time cadence, such as hourly or daily. In short, choose based on what should cause the run: data readiness, the clock, or both.

As an Amazon Associate I earn from qualifying purchases.

Decision Asset-aware schedule Cron or time schedule
What makes a run eligible? A successful update to a declared asset, subject to the consumer DAG’s asset condition. A cron tick or preset cadence.
What does it model? Readiness or dependency between data-producing and data-consuming DAGs. A recurring wall-clock schedule.
Several inputs A list of assets waits until all listed assets have updated at least once since the consumer’s last run. Time determines the run; upstream readiness needs separate handling if required.
Data interval and logical date Do not assume a cron-like interval; semantics depend on the scheduling model. Depends on the timetable: trigger and data-interval timetables behave differently.

Apache Airflow’s asset-aware scheduling guide describes scheduling DAGs based on when a task updates an asset, in addition to scheduling by time.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When should I use assets to trigger a DAG?

Choose an asset schedule when a consumer should react to an upstream task’s successful production or update of data, rather than wake up on a timer and check whether the data is ready. Airflow’s asset-aware scheduling feature was added in version 2.4, according to the official guide.

In the documented pattern, a producer task declares an asset as an outlet and the consumer DAG lists that asset in its schedule. A successful producer task that updates the asset can trigger the consumer. A failed or skipped producer task does not update the asset, so it does not trigger that consumer through this mechanism.

When a consumer needs several inputs

When a DAG lists multiple assets, Airflow waits until each listed asset has updated at least once since the DAG’s previous run. This is useful when the consumer needs a complete set of inputs before processing. If one asset updates repeatedly while another is still missing, those repeated updates do not necessarily create separate downstream runs; the documented list condition is satisfied once the other asset has also updated.

When should I use cron or another time schedule?

Use a time schedule when a business requirement calls for regular runs—such as a recurring reporting cycle or periodic maintenance—regardless of whether an upstream asset update occurred at that moment. Airflow supports cron expressions, cron presets such as @daily, and datetime.timedelta schedules. Its cron and time-interval documentation notes that cron expressions are parsed with croniter, including extended syntax.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A cron expression specifies timing, but it does not by itself fully describe which data a run should process. Airflow implements schedules through timetables, and the timetable determines details such as logical dates and data intervals. For more involved timing or interval requirements, the timetable guide describes built-in and custom timetable options, including schedules with different times on different days, rolling or overlapping windows, and gaps between intervals.

Trigger times versus data intervals

CronTriggerTimetable triggers at cron times and does not itself establish a nonzero data interval: the interval’s start and end are equal to the trigger time. CronDataIntervalTimetable instead defines intervals between cron points and triggers at the end of each interval. A change between these timetable behaviors can affect logical dates and run IDs, so check how your DAG uses those values and what data each run is expected to cover.

Check the Airflow version before changing a bare cron string

The Airflow timetable documentation states that the default for [scheduler] create_cron_data_intervals is True in Airflow 2.x and False in Airflow 3. As a result, the same bare cron schedule can use different timetable behavior across those major versions. For a migration or version change, explicitly select the intended behavior—by setting the configuration on each side or using an explicit timetable—rather than assuming the default preserves your existing intervals, logical dates, or run IDs.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Can an Airflow DAG run on both an asset update and a schedule?

Yes. Airflow documents AssetOrTimeSchedule, which combines a time-based timetable with an asset condition and can create scheduled runs and asset-triggered runs independently. Use it when the DAG needs both event responsiveness and periodic work, such as reacting to new data while also performing scheduled checks. Before adopting it, decide whether both paths could process overlapping data, and verify that the DAG’s work is safe to repeat and that each run’s data window is appropriate. See the timetable documentation for its behavior.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How to choose the right schedule for your DAG

  1. Identify the run condition. If a successful upstream data update should make the consumer eligible, use an asset condition. If a recurring time should drive runs, use a time schedule.
  2. Check input readiness. If all of several upstream assets must be available, the documented asset-list condition waits for each to update since the last consumer run. If the requirement is instead to run at fixed times, use a time schedule and handle readiness separately.
  3. Specify data coverage. Decide what period or records each run should process. Do not infer that coverage from the cron expression alone; choose the appropriate timetable semantics.
  4. Confirm the Airflow major version. In particular, check the bare-cron default before changing versions or migrating, and pin the intended behavior if it must remain consistent.
  5. Use both only for two real requirements. Select AssetOrTimeSchedule when the DAG truly needs both triggers, then validate duplicate-work risk, repeat safety, and run windows for your DAG.

Airflow 3.0 also documents external event-driven scheduling approaches, including push-based delivery and pull-based asset watchers. Those are relevant when the event originates outside Airflow; for the basic choice between an upstream DAG’s asset update and a recurring clock cadence, the asset and timetable patterns above are the central distinction. See the event-driven scheduling guide.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.