【问题标题】:Command Line Arguments to Azure WebjobsAzure Webjobs 的命令行参数
【发布时间】:2014-07-21 13:03:42
【问题描述】:

我正在将之前计划并通过 Quartz.Net 运行的几个作业迁移到 Azure Webjobs。

使用 Quartz.Net 允许我在同一个项目中拥有所有(非常紧凑的)作业类,作为初始化调度程序的控制台程序入口点。

现在我想保留这种结构,而不必为每个 Web 作业创建一个离散的控制台应用程序项目。

目前是否有任何方法可以为连续网络作业配置命令行参数,允许根据命令行参数在内部分支到正确的作业?

【问题讨论】:

    标签: c# azure-webjobs


    【解决方案1】:

    在 Azure WebJobs 中,一种方法是使用命令行参数为每个 WebJob 创建一个脚本文件:MyApplication.exe arg1 arg2

    另一种方法是选择当前 WebJob 名称运行的方法,您可以从环境变量 WEBJOBS_NAME 中获取该名称。

    对于触发的 WebJobs,API 中支持命令行参数(每次运行),但 Azure 门户仍然不支持:https://github.com/projectkudu/kudu/wiki/WebJobs-API#invoke-a-triggered-job

    【讨论】:

    • 我一直在尝试使用 ps-scripts 作为中级,但 WEBJOBS_NAME 听起来也不错。
    • 您能否详细说明您提到的第一个选项 - 创建带参数的脚本?如何告诉 Web 作业运行脚本而不是执行控制台应用程序 exe?此外,我在我的 kudu 控制台中看不到任何引用 webjobs 的 env 变量。
    • @andy250 使用您的脚本创建一个 run.cmd 文件,它将始终是选择运行的脚本。您不会在 kudu 控制台上看到 webjob 的 env 变量,因为它没有作为 webjob 运行,您可以使用打印出所有 env 变量的脚本创建 webjob,然后查看日志。
    猜你喜欢
    • 2016-03-25
    • 2012-10-04
    • 1970-01-01
    • 2021-12-05
    • 2011-02-25
    • 2013-02-14
    相关资源
    最近更新 更多