【问题标题】:Running an exe file on the azure在 azure 上运行 exe 文件
【发布时间】:2016-07-11 19:40:29
【问题描述】:

我正在开发一个 azure web 应用程序,在 web 应用程序内部,我使用 python 代码运行一个 exe 文件。 webapp 从用户那里接收某些输入(数字)并将这些输入存储在一个文本文件中。之后,一个 exe 文件将运行并读取输入并生成另一个文本文件,称为“结果”。问题是,虽然代码在我的本地计算机上运行良好,但正如我将它放在 azure 上一样,exe 文件不会被以下代码行触发:

subprocess.call('process.exe',cwd = case_directory.path, shell= True)

我什至尝试通过“从控制台运行”选项从 Visual Studio Team Services(之前是 Visual Studio Online)在 Azure 上手动运行 exe 文件。它只是没有做任何事情。如果有人可以帮助我,我将不胜感激。

【问题讨论】:

  • 确保您已添加完整的文件路径,否则请提供更多详细信息。
  • 我对路径很确定,而且正如我所说,当我从 Consol 调用 exe 文件时它也不起作用。相同的文件可以在我的本地计算机上正常工作并生成 txt 文件。
  • 展示你所做的事情,提供尽可能多的细节......如果你问一个模糊的问题,你所能期待的只是模糊的答案。

标签: python django azure azure-devops


【解决方案1】:

您是否考虑过使用WebJob 来托管\运行您的可执行文件? WebJob 几乎可以是任何类型的脚本或 win 可执行文件。有多种方法可以触发您的 WebJob。您还可以通过Kudu 界面免费获得很多监控和日志记录功能。

【讨论】:

    【解决方案2】:

    @F.K 我搜索了一些可能对你有帮助的信息,请看下面。

    1. 根据subprocess模块的python文档,Using shell=True can be a security hazard.请查看Frequently Used Arguments下的警告了解详情。
    2. article 中有评论指出了问题的方向,请看下面的截图。

    但是,通常,满足您需求的推荐方法是使用 Azure Queue & Blob Storage & Azure WebJobs 将输入文件保存到存储队列中,并处理从队列中获取的文件并保存通过一个连续的 webjob 将结果文件放入 blob 存储中。

    【讨论】:

    • 感谢您的出色回答。真的有帮助
    • 我正在学习关于 wejobs 的知识。我遇到的问题是我拥有的 exe 文件仅在其自己的目录中查找输入文本文件,并且还在同一目录中生成结果,因此将输入存储在队列中以及将结果存储在 Blob 中都会出现问题存储。
    • @F.K 好的。您能否针对使用 Azure 存储队列和 Blob 的问题发布一个新线程?这对于描述细节和回复解决方案将非常有帮助。谢谢!请告诉我新的主题链接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-20
    • 1970-01-01
    • 1970-01-01
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多