【问题标题】:How to define the default exe in a webjob that has multiple console app projects?如何在具有多个控制台应用程序项目的网络作业中定义默认 exe?
【发布时间】:2017-07-06 10:19:18
【问题描述】:

我有一个控制台应用程序解决方案,其中包含多个我部署为 Azure Webobs 的项目。部署顺利进行,但 webjob 对解决方案中的启动项目一无所知。执行 webjob 时,它会从列表中选择第一个 .exe 文件并运行它。这是不正确的,需要知道如何将启动项目强制执行到 webjobs。想提一下,我可以手动从 azure webjob 控制台运行启动 exe,但计划进程在运行时不知道启动 exe。

【问题讨论】:

    标签: azure console-application azure-webjobs


    【解决方案1】:

    我们可以从official document得到答案。以下是文档中的sn-p。如果我们想先运行.exe,我们可以将其命名为run.exe

    我们使用以下逻辑来决定哪个文件是要在作业目录中运行的脚本: 对于每个文件类型,我们首先查找名为:run.{file type extension} 的文件(例如 run.cmd 或 run.exe)。 如果并非所有文件类型都存在该文件,那么我们将查找具有受支持文件类型扩展名的第一个文件。 使用的文件类型扩展名的顺序为:.cmd、.bat、.exe、.ps1、.sh、.php、.py、.js。

    以下文件类型被接受为可用作作业的可运行脚本:

    • fsx(使用 F# fsi.exe 交互式编译器)
    • cmd、.bat、.exe(使用 windows cmd)
    • ps1(使用 powershell)
    • sh(使用 bash)
    • php(使用php)
    • py(使用python)
    • js(使用节点)

    【讨论】:

    • 我可以创建 run.bat 并将 myfile.exe 包含在要执行的批处理文件中吗?
    • 根据我的经验,是的,我们可以做到。
    • 我创建 run.bat 并将 myfile.exe 包含在要执行的批处理文件中,因此这是启动或默认 exe 文件的解决方法。喜欢这个 cd app_data\jobs\triggered\myapp myapp.exe
    • 如果使用 run.cmd 等,请确保文件存储没有 BOM 字符,否则运行将失败
    猜你喜欢
    • 2023-01-30
    • 2011-07-26
    • 1970-01-01
    • 2020-01-05
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    • 2023-03-25
    相关资源
    最近更新 更多