0
votes

I have a simple DAG which looks like this:

Start --> Download --> Finish

In my local environment I use LocalExecutor to test DAGs, however in production we use Celery.

The problem I am having is that LocalExecutor runs task after another immediately when I trigger it, which is the behaviour I expect. However, in production DAG tasks are not executed immediately. For whatever reason I have to run each task manually, and mark the DAG as successful afterwards...

We use almost all default Airflow 1.10.3 configuration settings. The DAG has "depends_on_past": False and schedule_interval="0 1 * * 0".

I wonder what could possibly make the LocalExecutor behave as expected, but CeleryExecutor does not...

I am seeing lots of INFO lines in the log like these:

Jun 20 08:42:32 airflow-scheduler airflow[4161]: [2019-06-20 08:42:32 +0000] [4167] [INFO] Handling signal: ttou
Jun 20 08:42:32 airflow-scheduler airflow[4161]: [2019-06-20 08:42:32 +0000] [11195] [INFO] Worker exiting (pid: 11195)
Jun 20 08:43:02 airflow-scheduler airflow[4161]: [2019-06-20 08:43:02 +0000] [4167] [INFO] Handling signal: ttin
Jun 20 08:43:02 airflow-scheduler airflow[4161]: [2019-06-20 08:43:02 +0000] [11205] [INFO] Booting worker with pid: 11205
1
Are you running airflow worker and airflow scheduler together with airflow webserver? - Oluwafemi Sule

1 Answers

0
votes

After many hours of digging I found that our airflow-scheduler.service systemd script was written incorrectly. It was running a webserver instead so the airflow scheduler was not running at all... The moment this was fixed, all the DAGs started to run as expected.