带参数的 Azure Web 作业控制台应用程序

Azure Web Job Console App With Parameter

我有一个控制台应用程序项目并将其发布到 Azure Web 作业。 我想用参数安排 consoleapp.exe。
例如:
第一个附表:consoleapp.exe ImportProducts
第二个附表:consoleapp.exe OrderTransfer

可能吗?

我从 Azure 论坛得到了答案。

单独使用门户计划功能无法做到这一点。我做了类似的事情,但需要两个通过 .bat 文件调用 .exe(带参数)的 Web 作业。

另一种选择是拥有一个使用 QueueTrigger 的连续 Web 作业。此 Web 作业将在队列中侦听对 "ImportProducts" 和 "OrderTransfer" 的请求。但是,您必须使用 ActionType 为 "Storage Queue" 或类似内容的 Azure Scheduler 单独安排请求的排队。

建议由 KloopDogg 作为答案

为此,请在门户中创建计划的 WebJob。 然后转到您的计划作业(在 Azure 计划程序下),WebJobs 屏幕上应该有一个 link。 更新从 /api/triggeredwebjobs/{job name}/run 调用的 url 到 /api/triggeredwebjobs/{job name}/run?arguments={arguments}

有关参考,请在此处查看 WebJobs API - https://github.com/projectkudu/kudu/wiki/WebJobs-API#invoke-a-triggered-job

这是我使用的方法:

  1. 创建一个 Azure Web 作业。具有 Main ( string[] args)

  2. 的控制台应用程序
  3. 创建 azure 计划任务

  4. 运行 控制台应用程序中的计划任务,您现在可以访问参数。

我的日志文件:

[03/16/2016 01:11:35 > 486e37: SYS INFO] Status changed to Running
[03/16/2016 01:11:35 > 486e37: INFO] Arguments passed = 1
[03/16/2016 01:11:35 > 486e37: INFO] Arguments received = **one**
[03/16/2016 01:11:35 > 486e37: SYS INFO] Status changed to Success

糟糕!请注意,我还没有用竞争计划测试过这个,并检查是否发生任何锁定。我假设没有,但你知道假设做了什么