postgresql - 为什么我的 Airflow 任务已排队但未运行?

标签 postgresql rabbitmq celery airflow

我是 airflow 的新手,正在尝试设置 airflow 来运行 ETL 管道。我能够安装

  1. Airflow
  2. 邮政系统
  3. celery
  4. rabbitmq

我能够测试运行教程 dag。当我尝试安排作业时,调度程序能够选择它并将我可以在 UI 上看到但任务未运行的作业排队。有人可以帮我解决这个问题吗?

这是我的配置文件:

[core]

airflow_home = /root/airflow

dags_folder = /root/airflow/dags

base_log_folder = /root/airflow/logs

executor = CeleryExecutor

sql_alchemy_conn = postgresql+psycopg2://xxxx.amazonaws.com:5432/airflow

api_client = airflow.api.client.local_client


[webserver]


web_server_host = 0.0.0.0

web_server_port = 8080

web_server_worker_timeout = 120

worker_refresh_batch_size = 1

worker_refresh_interval = 30

[celery]

celery_app_name = airflow.executors.celery_executor

celeryd_concurrency = 16

worker_log_server_port = 8793

broker_url = amqp://rabbit:rabbit@x.x.x.x/rabbitmq_vhost

celery_result_backend = db+postgresql+psycopg2://postgres:airflow@xxx.amazonaws.com:5432/airflow


flower_host = 0.0.0.0

flower_port = 5555

default_queue = default

DAG:This is the tutorial dag i used

我的 dag 的开始日期是 -- 'start_date': datetime(2017, 4, 11),

最佳答案

运行 Airflow 的所有三个组成部分,即:

airflow webserver
airflow scheduler
airflow worker

如果你只运行前两个,任务会被排队,但不会被执行。 airflow worker 将提供实际执行 dag 的 worker。

此外,celery 4.0.2 目前与 airflow 1.7 或 1.8 不兼容。改用 celery 3。

关于postgresql - 为什么我的 Airflow 任务已排队但未运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43524457/

相关文章:

django - 为什么 Celery 任务测试结果不一致?

python - 运行 django celery 时出现段错误

sql - 在 postgres 函数中返回 select * 结果

php - 如何统计每个月在职员 worker 数?

RabbitMQ 消息传递 - 初始化消费者

java - 更改 RabbitMQ 中现有队列的路由键

sql - 使用临时表替换 WHERE IN 子句

sql - PostgreSQL - 键索引

RabbitMQ - 有没有办法限制队列中的消息数量?

python - 使用 Celery 同时执行两个任务