【问题标题】:Running .exe on Azure在 Azure 上运行 .exe
【发布时间】:2017-01-25 00:20:27
【问题描述】:

我有一个在 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 文件吗?它是一个网络应用程序而不是云服务,我真的想避免网络/工作人员角色,因为 .exe 并没有做很多处理。

【问题讨论】:

  • 它似乎与stackoverflow.com/questions/41785517/… 重复。你能指出他们的区别吗?你是不是把data&hash目录放到Azure WebApp上senna-win32.exe的同一个路径下?
  • 在该链接上,问题是应用程序发布不正确并导致 IIS 错误。在这种情况下,没有错误,它只是在执行 senna-win32.exe 时不做任何事情,而它应该收到一些结果。我确实检查了数据和哈希目录,它们确实与 senna-win32.exe 位于同一路径中。我的想法是甚至可以在不做 web/worker 角色的情况下在 web 应用程序下运行 .exe 吗?
  • Here is an answer 回答一个讨论在 Azure 上执行 .exe 的问题。 .exe 的功能似乎有一些限制,但这些限制对我来说并不清楚。如果能从 Microsoft 那里获得一些明确的文档,那就太好了。
  • 从 Azure 函数调用此 exe 时会发生什么情况,如此处所述? anthonychu.ca/post/azure-functions-scheduled-executables
  • strerr 可能有原因,我们是否值得将其重定向到日志。此外,考虑使用 webjobs(它们可以作为同一个 webapp 的一部分运行,因此无需额外费用并提供更好的诊断 - 状态、日志等)

标签: python visual-studio azure nlp


【解决方案1】:

正如 ajbeaver 所提到的,您可以在 azure Web 应用程序中启动 exe,但有一些限制(未明确记录)。 Process.Start in Azure Website

我将启用应用程序日志记录,并查看您是否可以从您的 exe 中捕获标准错误并将其写入诊断日志。 https://docs.microsoft.com/en-us/azure/app-service/web-sites-enable-diagnostic-log

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 2019-06-12
    • 1970-01-01
    • 1970-01-01
    • 2018-08-28
    相关资源
    最近更新 更多