Windows-dependent code with Astronomer Airflow


#1

Most of our code is Python, though we do have some Windows-dependent stuff. Is there a solution for that in the Airflow community? For example, one of our vendors provides us with a custom .exe which is a part of our data pipeline.


#2

All code run in Astronomer Airflow runs in Linux containers (with Alpine as the base image).

To run Windows code in alpine, you would need to include wine (a compatibility layer capable of running Windows applications on Linux) in your packages.txt. You can read more about Wine here.

Assuming the .exe file is a true binary and does not need any additional dependencies, the .exe file can built into the image and ran using the BashOperator with a command like $PATH_TO_DIRERCTORY wine test.exe


#3

Thanks for the wine option. We would rather run the application directly on a Windows server though. Is there a standardized way to do that via Airflow?


#4

Hi @ShlomoAbraham - I don’t think there’s a standard way off the top of my head, but could you set up a REST endpoint on that windows server and call it via an HTTP request? Would that solution work for you?