使用 Airflow 运行 .EXE 和 Powershell 任务

hmr*_*c87 2 airflow apache-airflow

我们的系统基本上只是结合 MS SQL Server 运行 C# 和 Powershell 应用程序的 Windows Server。我们有一个内部的 WorkflowManagement 解决方案,它能够运行执行 EXE/BAT/PS1 甚至调用 DLL 函数的任务。

现在我正在评估 Apache Airflow 是否对我们来说是一个更好的解决方案。到目前为止,我的天真计划是在 Linux 机器上运行气流调度程序,然后让消费者在 Windows 机器上运行。但是,例如,我将如何设置使用者以运行 .exe 任务?

我是否需要创建一个接受 HTTP 调用然后执行 .Exe 文件的 Wrapper-Service?

jhn*_*lvr 6

我认为您提到的消费者在气流中被称为“工人”。典型的工作人员运行一个不在 Windows 上运行的执行程序。

理论上你可以在你的 Windows 机器上安装一个 ssh 服务器,然后用来SSHExecuteOperator在那里运行 exe 命令等等。

这可能比 HTTP impl 更有效,因为气流中的任务将在 ssh 命令运行时保持“运行”状态,并相应地自动进入成功或失败状态。使用 HTTP impl,如果您想与气流很好地集成,则需要自己实现此功能。

  • 谢谢您的回答!我找到了另一个可能更好的解决方案:pywinrm!https://pypi.python.org/pypi/pywinrm 有了它,您可以通过 python 使用 Windows 远程 PowerShell。所以我通过python定义一个任务并导入pywinrm库然后我可以执行我想要的所有命令,比如调用一个exefile (6认同)