在Azure上运行.exe文件

16

我有一个Flask Web应用程序,它发布在Azure上。在我的项目中,我有一个名为'senna-win32.exe'的文件,它接受输入并发送一些输出。我的调用该.exe文件的代码如下:

 senna_path = 'senna-win32.exe'
 p = subprocess.Popen(senna_path,stdout=subprocess.PIPE,stdin=subprocess.PIPE, stderr=subprocess.PIPE)
 stdout = p.communicate(input=bytes(userInput, 'utf-8'))[0]
 inList = stdout.decode()

在我的本地电脑上它似乎可以工作,但是在Azure上,它没有引发任何问题,但却什么也没做。

我不能在Azure上执行.exe文件吗?它是一个Web应用程序而不是云服务,我真的很想避免使用Web/Worker角色,因为.exe并不会处理大量数据。


似乎与http://stackoverflow.com/questions/41785517/publishing-flask-web-app-on-azure重复。您能指出它们的区别吗?您是否将`data`和`hash`目录放在Azure WebApp上senna-win32.exe的相同路径中? - Peter Pan
在那个链接里面,问题是应用程序发布不正确,导致了IIS错误。在这种情况下,没有错误,只是在执行senna-win32.exe时没有任何反应,但应该接收到一些结果。我确实检查了数据和哈希目录,它们确实与senna-win32.exe在同一路径下。我的想法是,在不使用Web/Worker角色的情况下,是否有可能在Web应用程序下运行.exe文件? - scorpion5211
这是一个讨论在Azure上执行.exe文件的问题的答案链接:https://dev59.com/4Ifca4cB1Zd3GeqPjX3A。看起来有一些限制,但具体限制我不太清楚。如果微软能提供一些权威的文档就太好了。 - ajbeaven
当您按照这里所描述的方法从Azure函数调用此exe时会发生什么?http://anthonychu.ca/post/azure-functions-scheduled-executables/ - Bernard Vander Beken
2
strerr可能是原因,我们可以考虑将其重定向到日志中。此外,考虑使用webjobs(它们可以作为同一Web应用程序的一部分运行,因此无需额外费用,并提供更好的诊断-状态、日志等)。 - AVS
我最近遇到了类似的问题,需要从Python脚本中获取一个.exe文件(https://dev59.com/66Tja4cB1Zd3GeqPBGnr,https://stackoverflow.com/questions/45750676/build-a-exe-for-windows-from-a-python-3-script-importing-pyqtgraph-and-opening,https://dev59.com/B6Lia4cB1Zd3GeqPkoq_)。你认为这是否有关联?你有任何改进吗? - Stéphane
1个回答

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接