【问题标题】:with azure webjobs how do i pass parameter for a scheduled task使用 azure webjobs 我如何为计划任务传递参数
【发布时间】:2015-06-14 02:53:40
【问题描述】:

我正在创建一个将作为 Azure webjob 运行的 dot net 控制台应用程序。它计划每小时运行一次。

我想知道在调用作业时如何将参数传递给作业?

【问题讨论】:

  • 这有点违背“每小时一次”的目的......时间触发的工作应该在开始时拥有所有可用的信息,并且不需要额外的输入。你想传递什么参数?您能否详细说明您的方案?
  • @VictorHurdugaci 我不知道您是如何得出这样的结论,即它违背了计划作业向其传递参数的目的。这对我来说在很多情况下都是有意义的。例如,我们有一个清理过程,传递清理的天数在我们的情况下是完全有效的。
  • 我们也有类似的要求。保存摘要数据的几个作业。同一个网络作业可以每 15 分钟、每小时等处理一次,但需要传入一个参数,这样我就不必管理一堆具有相同代码的不同网络作业。

标签: azure azure-webjobs azure-webjobssdk


【解决方案1】:

Scheduled WebJobs 实际上是 2 个独立的资源:

  1. 触发的 WebJob
  2. Azure 调度程序作业

要将参数传递给 WebJob,您需要转到计划的作业(在管理门户中)并更新用于调用触发的 WebJob 的 url。

此处描述了 REST API:https://github.com/projectkudu/kudu/wiki/WebJobs-API#invoke-a-triggered-job

基本上你只需要在网址末尾添加?arguments={your arguments}即可。

这些参数作为命令行参数传递给您的可执行文件。

【讨论】:

  • 也用于发布请求?发送 multipart/form-data 怎么样?
  • 这个答案还有效吗?我在管理门户中看不到“计划的作业”。他们写了很多关于将 settings.job 文件放在 App_Data/jobs/triggered/{JOB_NAME}/ 中的内容,但是没有示例如何在其中包含参数。我不确定这是否有效。
  • 这仍然相关,请确保使用旧门户
  • 在新门户下也是相关的。查找“计划调度程序集合”。那是保存调度程序作业的容器,与此答案中引用的“计划作业”相同。
  • 如何打开旧门户?
猜你喜欢
  • 2020-10-30
  • 2010-11-08
  • 1970-01-01
  • 1970-01-01
  • 2017-11-19
  • 1970-01-01
  • 2020-12-08
  • 2021-08-19
  • 1970-01-01
相关资源
最近更新 更多