当我使用其余的api启动webjob时: / api / triggeredwebjobs / {job name} / run?arguments = {arguments}
我需要知道调用的程序是否成功运行,现在我使用... / api / triggeredwebjobs / {job name} / history
请求历史记录的最新结果现在,有没有办法在我调用之后获取作业的{id}?因为显然没有办法确定最新的历史是我刚刚开始的工作。还是有另一种方法可以完成任务吗?
感谢。
答案 0 :(得分:2)
是的,我们在扩展库中添加了一个新的活页夹,以便您获取实例ID - ExecutionContext 。请参阅extensions repo示例中的example here。要使用此绑定,您必须引入beta1 Microsoft.Azure.WebJobs.Extensions预发行包,并将config.UseCore()添加到您的启动代码(如示例应用程序所示)。这是根据与您类似的另一个问题添加的。
答案 1 :(得分:2)
你可以在你的代码中的任何地方调用它,它的工作原理! (不是在调试中,但在发布时)
Console.Out.WriteLine("RUN NAME : " + Environment.GetEnvironmentVariable("WEBJOBS_RUN_ID"));
答案 2 :(得分:2)
我们刚刚在WebJobs API中添加了对此的支持。它的工作方式是,当您发送POST请求以触发WebJob时,您现在返回一个位置属性,其中包含已启动的运行详细信息的URL。 e.g。
Location: https://mysite.scm.azurewebsites.net/api/triggeredwebjobs/SomeJob/history/201605192149381933
然后,您可以查询此URL以跟踪运行,例如
{
"id": "201605192149381933",
"name": "201605192149381933",
"status": "Success",
"start_time": "2016-05-19T21:49:38.1933956Z",
"end_time": "2016-05-19T21:49:39.4826458Z",
"duration": "00:00:01.2892502",
"output_url": "https://mysite.scm.azurewebsites.net/vfs/data/jobs/triggered/SomeJob/201605192149381933/output_log.txt",
"error_url": null,
"url": "https://mysite.scm.azurewebsites.net/api/triggeredwebjobs/SomeJob/history/201605192149381933",
"job_name": "SomeJob",
"trigger": "External - ARMClient/1.1.1.0"
}