2016-05-09 2 views
3

Посмотрите на API API Kudu Azure WebJobs https://github.com/projectkudu/kudu/wiki/WebJobs-API Я вижу, что есть несколько вызовов, которые я могу сделать для программного программирования WebJobs.Как получить информацию о непрерывном вызове Azure WebJob

Отсутствует призыв получить для непрерывного webjob сведения о одном вызове. С вызовом я имею в виду однократное выполнение функции для данного сообщения.

То, что я пытаюсь сделать, - для сообщения, попадающего в очередь ядов, получить сообщение об исключении родительского вызова. В ядовитом сообщении я получаю идентификатор родительского вызова с помощью json prop $ AzureWebJobsParentId.

Я хотел бы управлять очереди ядов функцией, которая отправляет сообщения об ошибках и перемещает сообщение в очереди с мертвой буквой.

Любая идея, если это возможно?

+0

Не то API вы связываете выше является общим API WebJobs, и он ничего не знает о SDK. Но ваш вопрос специфичен для SDK. Вы можете настроить заголовок, чтобы сделать более понятным. –

+0

Ok @DavidEbbo вы имеете в виду, что Api, к которому я обращаюсь, это Kudu Api, и на это не место смотреть? Я думал, что это так, потому что есть призыв получить информацию о запущенной работе. Любое предложение о том, где искать вместо этого? Было бы странно, если бы не было никакого способа. Это выглядит для меня полезным сценарием. В любом случае, спасибо за комментарий. –

+0

API Kudu знает только о непрерывных и запущенных WebJobs. Если для непрерывного WebJob используется SDK, Kudu не знает об этом. Поэтому ваш вопрос больше: при использовании SDK существует ли API для получения деталей. –

ответ

0

С учетом идентификатора вызова WebJobs SDK вы можете получить доступ к деталям этого выполнения через панель инструментов WebJobs. Вы можете получить доступ к панели мониторинга через клик WebJobs на портале (ссылка будет находиться в столбце «LOGS»).

Или в браузере вы можете сформировать URL самостоятельно, например, (заменив название приложения и вызов ID):

https://<yourapp>.scm.azurewebsites.net/azurejobs/#/functions/invocations/<invocation-id> 

То есть, как бы вы получите доступ к этой детали вручную.

+0

Да, я искал способ получить одну и ту же информацию через какой-либо вызов API, чтобы использовать его в автоматическом уведомлении по электронной почте, когда сообщение переходит в очередь яда. –

4

Azure WebJobs SDK Core extensions содержит привязку для ExecutionContext, которая позволяет вам получить доступ к специальной информации о конкретном вызове в вашей функции. Пример, показывающий, как получить доступ к функции Invocation ID:

public static void ProcessOrder(
    [QueueTrigger("orders")] Order order, 
    TextWriter log, 
    ExecutionContext context) 
{ 
    log.WriteLine("InvocationId: {0}", context.InvocationId); 
} 

Заклятие ID используется в журналах Dashboard, так что наличие доступа к этому программно позволяет коррелировать розарий этих журналов.

1

Там не официальный способ сделать это еще, но есть проблема для отслеживания воздействия стабильного API (C# и REST) ​​для чтения отдельных экземпляров функции: См https://github.com/Azure/azure-webjobs-sdk/issues/880 для статуса

+0

Спасибо, Майк. Было бы неплохо добавить и, возможно, это не так сложно сделать. Это облегчило бы обработку ядовитых очередей. –

Смежные вопросы