当前位置: 首页 > 知识库问答 >
问题:

气流不会触发具有“本地指示器”的并发 DAG

柳俊健
2023-03-14

我使用的是气流 1.7.1.3。

我有一个并发DAG/任务的问题。当DAG运行时,调度程序不再启动其他DAG。似乎调度程序完全冻结(不再有日志)……直到运行的DAG完成。然后,新的DAGrun被触发。我的不同任务是长时间运行的ECS任务(约10分钟)

我使用了LocalExecutor,并允许默认配置并行度=32dag_concurrency=16。我使用气流调度程序-n 20并自动重新启动它,并为我的所有DAG声明设置'depends_on_past':False。

作为参考,我在ECS集群中运行的容器中部署了airflow。< code>max_threads = 2而我只有2个CPU可用。

有什么想法吗?谢谢

共有1个答案

缪兴腾
2023-03-14

我在使用< code>LocalExecutor时也遇到了这个问题。这似乎是对< code>LocalExecutor工作方式的限制。调度程序最终会产生子进程(在您的例子中是32个)。此外,您的调度程序每次执行都要进行20次迭代,所以当它完成20次运行时,它会等待其子进程终止,然后调度程序才能退出。如果有一个长时间运行的子进程,调度程序将被阻止执行。

对我们来说,解决方案是切换到CeleryExector。当然,这需要更多的基础设施、管理和Celery后端的整体复杂性。

 类似资料:
  • 正如标题所说,我根本无法让Quartz.net工作。我从NuGet获得了最新版本的Quartz.net(2.2.1)、Common.Logging(2.1.2)、Common.Logging.NLog(2.0.0)和NLog(2.1.0)。触发器没有被触发,而且石英绝对没有记录任何东西。我猜我搞砸了配置。 我的应用程序配置: 有一个作业和一个触发器与之相关: 调度程序将启动,作业和触发器将正确添加

  • 我有这个脚本: HTML中的用法: 由于某些原因,它的工作,如果页面重新加载一半,但不,它没有开火,在它工作之前,所以我不知道发生了什么。我在wordpress网站上使用这个。

  • 我整天都在想这个问题,但就是不能让我的本地VSCode开发环境用Python worker处理EventHub触发。 Microsoft.Azure.WebJobs.Host:错误索引方法'Functions.myfunctionname'。Microsoft.Azure.WebJobs.EventHubs:值不能为空。参数名称:接收器连接字符串。 函数“Functions.myfunctionn

  • 我使用next.js提供的with-redux示例(https://github.com/zeit/next.js/tree/canary/examples/with-redux)在next.js中设置了React-Redux。此外,我还设置了thunk,因为将来大多数redux调用都将是异步的(现在只是初始状态,将被更改)。 当我现在尝试使用thunk调度函数时,还原器从未被触发。 现在我已经到

  • 问题内容: 我试图设置一个监听器来确定何时按下输入按钮,但是根本没有触发。我在装有Android 4.2.2的LG Nexus 4上进行了测试。可以在具有Android 2.3的Amazon Kindle Fire上使用,并且无处可用!我也无法为按钮设置文本。这是代码: 我究竟做错了什么?我怎样才能解决这个问题? 问题答案: 您可以使用TextWatcher。

  • 问题内容: 我正在尝试创建一种控制台/终端,允许用户输入一个字符串,然后将其编入进程并打印出结果。就像普通的控制台一样。但是我在管理输入/输出流时遇到了麻烦。我已经研究了这个线程,但是可悲的是,该解决方案不适用于我的问题。 与标准命令(例如“ ipconfig”和“ cmd.exe”)一起,如果脚本要求输入,我还需要能够运行脚本并使用相同的输入流传递一些参数。 例如,在运行脚本“ python p