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

时间:2015-04-10 08:27:43

标签: schedule azure-webjobs

我有一个控制台应用程序项目,我将其发布到Azure Web Jobs。 我想安排带参数的consoleapp.exe 例如:
第一个时间表:consoleapp.exe ImportProducts
第二个时间表:consoleapp.exe OrderTransfer

有可能吗?

3 个答案:

答案 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)

这是我使用的方法:

  1. 创建一个天蓝色的webjob。具有Main(string [] args)

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

  4. 在控制台应用中运行预定任务,您现在可以访问参数。

  5. 我的日志文件:

    [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提出答案