I was surprised when I saw the DayOfWeekSensor in Airflow. Why is it here? Is it for the people who don’t know how to choose a day of the week in the CRON expression?

Table of Contents

  1. Get Weekly AI Implementation Insights

In the documentation, we see an example which looks like this:

weekend_check = DayOfWeekSensor(
    task_id='weekend_check',
    week_day={'Saturday', 'Sunday'},
    use_task_execution_day=True,
    dag=dag)

It is strange. We can get the same result using a cron expression, for example: 0 10 * * 6-7.

So what are the possible use-case for the DayOfWeekSensor? I found two of them:

First, putting a sensor that waits for a specific day of the week is more explicit than tweaking the cron expression, so it is easier to spot that this DAG runs only on weekends.

Second, in the case of DAGs that run for multiple days, we may have a DAG that starts on Monday, runs some code for a few hours, and needs to wait until Wednesday to do something else. Still, for whatever reason, we don’t want to split that DAG into two separate DAGs running on different days.

To be honest, I have no idea what is the usage of this sensor. Do you know? Let me know.

Get Weekly AI Implementation Insights

Join engineering leaders who receive my analysis of common AI production failures and how to prevent them. No fluff, just actionable techniques.

Get Weekly AI Implementation Insights

Join engineering leaders who receive my analysis of common AI production failures and how to prevent them. No fluff, just actionable techniques.

Older post

Send SMS from an Airflow DAG using AWS SNS

How to configure SNS subscription to send SMS messages and use Airflow to send them

Newer post

How to restart a stuck Airflow DAG

What to do when an Airflow DAG gets stuck and does not want to run

Engineering leaders: Is your AI failing in production? Take the 10-minute assessment
>