我需要在某些时间表上执行长时间运行的webjob,或者使用一些需要传递的参数按需执行。我有一种方式,其中计划的webjob将使用参数将消息放入队列并且队列消息被触发的作业将接管 - 或者 - 一些用户交互将使用参数和触发的作业将相同的消息放在队列中会接管。但是由于某种原因,触发的功能永远不会完成 - 现在我看不到仪表板输出中显示的任何异常(参见Time limit on Azure Webjobs triggered by Queue)
我正在研究是否可以将触发的webjob作为按需webjob执行并将参数传递给它?无论如何,从预定的Web作业调用按需Web作业并传递一些命令行参数?
感谢您的帮助!
答案 0 :(得分:0)
QueueTriggered WebJob函数在正确配置后运行良好。有关如何正确设置WebJobs SDK连续主机的问题,请参阅我的回答documentation resources。
队列消息传递是您在此方案中使用的正确模式。它允许您将任意数据传递到您的作业,并且还允许您在负载增加时根据需要扩展到多个实例。
您可以使用 WebJobs仪表板直接调用您的工作职能(请参阅下面的“运行功能”按钮) - 您可以直接在仪表板中将字符串消息输入指定为字符串。除了允许函数继续响应实际添加到队列中的qeueue消息之外,这允许您根据需要直接调用所需的任何输入。