蟒蛇依赖:
- 阿帕奇气流==2.1.3
- redis==3.5.3
- 芹菜==4.4.7
气流配置:
- core.parallelism = 1000
- core.dag_concurrency = 400
- core.max_active_runs_per_dag = 1
- celery.worker_concurrency = 6
- celery.broker_url = redis
- celery.result_backend = mysql
升级到气流 2.0 后面临这个问题
并非所有任务都卡在“排队”状态,一次只有 1 个任务卡住(超过 100 个)。
有时任务也停留在“运行”状态。
此问题在 1-2 天内发生一次。
即使池槽可用(槽 = 128,运行槽 = 0,排队槽 = 1)也会发生这种情况
根据工作人员日志(对于卡住的任务和正常任务):
INFO/MainProcess] Received task: airflow.executors.celery_executor.execute_command[066398d7-98e0-4f17-bd2b-93ae36438577]
INFO/ForkPoolWorker-6] Executing command in Celery: ['airflow', 'tasks', 'run', 'dag_name', 'task01', '2021-10-26T14:00:00+00:00', '--local', '--pool', 'default_pool', '--subdir', '/dag_dir/dag.py']
我在下面看到所有正常工作任务的日志,这对于卡住的任务是缺失的:
WARNING/ForkPoolWorker-1] Running <TaskInstance: dag.task02 2021-10-26T14:00:00+00:00 [queued]> on host worker02.localdomain