我的Airflow系统具有正在运行的任务和已排队的任务。任务从“已排队”转移到“正在运行”,但我不明白为什么“运行”状态下的任务如此之少:我认为我已将系统配置为每个工作人员(一个工作人员)同时运行10个任务,并且有“排队”的未阻塞任务要运行。
我正在AWS中使用docker-compose
在Docker(Puckel,1.10.3)中运行Airflow,这是docker-compose.yml
的摘录:
environment:
- LOAD_EX=n
- FERNET_KEY=********
- EXECUTOR=Celery
- POSTGRES_HOST=********
- POSTGRES_PORT=5432
- POSTGRES_USER=airflow
- POSTGRES_PASSWORD=********
- POSTGRES_DB=********
- REDIS_HOST=********
- REDIS_PORT=6379
- AIRFLOW__CORE__REMOTE_LOGGING=True
- AIRFLOW__CORE__REMOTE_BASE_LOG_FOLDER=********
- AIRFLOW__CORE__LOG_CONN_ID=analytics-aws-prod
- AIRFLOW__CORE__ENCRYPT_S3_LOGS=False
- AIRFLOW__SCHEDULER__RUN_DURATION=7200
- AIRFLOW__SCHEDULER__MIN_FILE_PROCESS_INTERVAL=30
- AIRFLOW__SCHEDULER__DAG_DIR_LIST_INTERVALL=300
- AIRFLOW__CORE__SQL_ALCHEMY_CONN=********
- AIRFLOW__CELERY__WORKER_CONCURRENCY=10
我相信我的DAG都没有对同时执行任务的限制,但是即使它们同时执行,我也希望来自subscription_etl
的任务能够在上述示例中运行。另外,一次运行的任务实例的数量并不一致,在我一直在观看的情况下,其数量一直在1到6之间变化,而且在任何时候,我似乎都可以运行队列中的任务。
有人可以向我解释发生了什么吗?我的推测是我误解了我的配置,但是在计划程序重新分配工作与这是任务期限很短的结果之间可能只是很长的间隔?谢谢您的协助!