我正在使用Airflow安排任务,执行器是芹菜。我的问题是:
有些任务会消耗大量的CPU时间,有些则不然,有没有办法根据服务器的负载动态修改芹菜工人的并发性?例如,如果任务现在消耗大量 CPU 并且服务器负载过重,则 celery worker 的并发性应动态收缩,否则并发性应增长。
我没有对
CeleryExecutor
使用Airflow
,
但是可以通过将task
S 添加到 pool
S 并以编程方式修改这些池(slot
s 计数(来实现足够接近的效果(至少对于 LocalExecutor
(。
我可以确认池插槽的动态修改(当 Dag 运行时(工作正常。
(不确定是否有风险/反模式(