使用IDE工具调试气流任务?

我的气流DAG主要由PythonOperators组成,我想使用我的Python IDE调试工具来开发python“内部”​​气流。 -我依靠Airflow的数据库连接器,我认为将“气流”移出进行开发是很丑陋的。

我已经使用Airflow了一段时间,到目前为止,仅通过CLI进行了开发和调试。哪个开始变得烦人了。

是否有人知道设置PyCharm或其他IDE的好方法,使我在运行airflow test ..时可以使用IDE的调试工具集?

candycandysweet 回答:使用IDE工具调试气流任务?

参加聚会可能会有点晚,但也一直在寻找解决方案。希望能够调试尽可能接近“生产模式”的代码(因此在测试等情况下什么也没有)。

找到了“ Python Debug Server”形式的解决方案。 它的工作方式与此相反:您的IDE进行侦听,并且从远程脚本到编辑器之间建立了连接。

只需添加类型为“ Python Debug Server”的新运行配置。 您会看到一个屏幕,告诉您远程pip install pydevd-pycharm。在同一页面上,您可以填写您的本地IP和一个端口,调试器应该在该端口上可用,以及可选的路径映射。

之后,只需将建议的两行代码添加到您希望调试会话开始的位置即可。

运行配置以激活侦听器,如果一切正常,则到达settrace调用位置后,编辑器应立即中断。

airflow remote debug

编辑/注意:如果您停止编辑器中的配置,气流将继续执行该任务,请务必意识到这一点。

,

这可能有点骇人听闻,但我发现了一种设置PyCharm的方法:

  • 在当地的气流环境中使用which airflow-在我的情况下,这只是个管道
  • 在PyCharm中添加新的运行配置
  • 将python“脚本路径”设置为所述气流脚本
  • 设置参数以测试任务:test dag_x task_y 2019-11-19

这仅通过 SequentialExecutor 进行了验证,这可能很重要。

我必须为每个新的调试/开发任务在运行配置中更改测试参数,这很糟糕,但是到目前为止,这对于在“内部”气流环境内设置断点和单步执行代码非常有用。

,

我调试airflow test dag_id task_id,使用PyCharm在无业游民的计算机上运行。即使直接在本地主机上运行气流,您也应该能够使用相同的方法。

Pycharm's documentation on this subject应该向您展示如何创建适当的“ Python远程调试”配置。当您运行此配置时,它等待被您添加到某处的一些代码(例如,在您的一个操作员中)与之联系。然后,您可以正常进行调试,并在Pycharm中设置断点。

本文链接:https://www.f2er.com/3074416.html

大家都在问