我有一个控制台应用程序项目,我将其发布到Azure Web Jobs。
我想安排带参数的consoleapp.exe
例如:
第一个时间表:consoleapp.exe ImportProducts
第二个时间表:consoleapp.exe OrderTransfer
有可能吗?
答案 0 :(得分:1)
为此,请在门户中创建计划的WebJob。
然后转到您的计划作业(在Azure Scheduler下),应该从WebJobs屏幕链接到它。
将从/api/triggeredwebjobs/{job name}/run
调用的网址更新为/api/triggeredwebjobs/{job name}/run?arguments={arguments}
供参考,请参阅此处的WebJobs API - https://github.com/projectkudu/kudu/wiki/WebJobs-API#invoke-a-triggered-job
答案 1 :(得分:1)
这是我使用的方法:
创建一个天蓝色的webjob。具有Main(string [] args)
创建天蓝色计划任务
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
Woop!,请注意我没有使用竞争计划对其进行测试,并检查是否发生任何锁定。我假设没有,但你知道假设做了什么
答案 2 :(得分:0)
我从Azure论坛得到了答案。
仅使用门户网站计划功能是不可能的。我做了类似的事情,但需要两个通过.bat文件调用.exe(带参数)的Web作业。
另一种方法是使用QueueTrigger进行单个连续Web作业。此Web作业将在队列中侦听对" ImportProducts"和" OrderTransfer"。但是,您必须使用ActionType为" Storage Queue"的Azure Scheduler单独安排请求的排队。或类似的东西。
由KloopDogg提出答案