带参数的 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
这是我使用的方法:
创建一个 Azure Web 作业。具有 Main ( string[] args)
的控制台应用程序
创建 azure 计划任务
- 使用 HTTP "Post"(阅读此 http://blog.davidebbo.com/2015/05/scheduled-webjob.html)
- 注意:记得输入凭据。我的 URL 看起来像这样
https://[[UID]]:[[PWD]]@mywebaddress.scm.azurewebsites.net/api/triggeredwebjobs/WebJobTest/run?arguments=one
运行 控制台应用程序中的计划任务,您现在可以访问参数。
我的日志文件:
[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
糟糕!请注意,我还没有用竞争计划测试过这个,并检查是否发生任何锁定。我假设没有,但你知道假设做了什么
我有一个控制台应用程序项目并将其发布到 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
这是我使用的方法:
创建一个 Azure Web 作业。具有 Main ( string[] args)
的控制台应用程序
创建 azure 计划任务
- 使用 HTTP "Post"(阅读此 http://blog.davidebbo.com/2015/05/scheduled-webjob.html)
- 注意:记得输入凭据。我的 URL 看起来像这样
https://[[UID]]:[[PWD]]@mywebaddress.scm.azurewebsites.net/api/triggeredwebjobs/WebJobTest/run?arguments=one
运行 控制台应用程序中的计划任务,您现在可以访问参数。
我的日志文件:
[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
糟糕!请注意,我还没有用竞争计划测试过这个,并检查是否发生任何锁定。我假设没有,但你知道假设做了什么