我有一个在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不会进行大量的处理。
答案 0 :(得分:1)
正如ajbeaver所提到的,你可以在一个天蓝色的网络应用程序中启动exes但是有一些限制(没有明确记录)。 Process.Start in Azure Website
我启用应用程序日志记录,还可以查看是否可以从exe中捕获stderr并将其写入诊断日志。 https://docs.microsoft.com/en-us/azure/app-service/web-sites-enable-diagnostic-log