2017-04-26 14 views
2

私たちのシステムは基本的に、MS SQL Serverと組み合わせてC#とPowershellアプリケーションを実行するWindowsサーバです。私たちには、EXE/BAT/PS1を実行し、さらにはDLL機能を呼び出すタスクを実行できる社内WorkflowManagementソリューションがあります。気流のある.EXEとPowershellタスクを実行する

Apache Airflowが優れたソリューションであるかどうか評価しています。これまでの私の素朴な計画は、Linuxマシン上でエアフロースケジューラを実行してから、消費者にWindowsマシンを実行させることです。しかし、たとえば、.exeタスクを実行するようにコンシューマーをセットアップするにはどうすればよいですか?

HTTP呼び出しを受け取り、.Exeファイルを実行するWrapper-Serviceを作成する必要がありますか?

答えて

2

あなたが言及している消費者は気流の中で「労働者」と呼ばれていると思います。典型的なワーカーは、Windows上で実行されないエグゼキュータを実行します。

理論的には、あなたのWindowsボックスにsshサーバをインストールしてから、SSHExecuteOperatorを使ってexeコマンドなどを実行することができます。

これは、sshコマンドが実行されている間に気流の中のタスクが「実行中」のままで、それに応じて自動的に成功したり失敗したりするため、おそらくHTTPのimplよりも機能します。 HTTPインプラントでは、気流とうまく統合したい場合は、この機能を自分で実装する必要があります。

+3

ありがとうございました!私は別の、おそらくより良い解決策を見つけました:pywinrm! https://pypi.python.org/pypi/pywinrmこれで、Python経由でWindows Remote PowerShellを使用することができます。だから私はpythonを介してタスクを定義し、pywinrmライブラリをインポートして、私はexefileを呼び出すように、私が望むすべてのコマンドを実行することができます – hmrc87

関連する問題