HTTP-опрос и мониторинг надежных функций в функциях Azure - PullRequest
0 голосов
/ 20 ноября 2018

Есть ли хорошее место между опросом конечной точки с помощью политики и использованием шаблона мониторинга с долговременными функциями?Для иллюстрации я буду использовать слегка измененный пример мониторинга из документов Azure Durable Functions .В приведенном ниже примере настраиваемое количество секунд используется для ожидания между проверками.Кроме того, существуют дополнительные издержки для функции долговременной проверки и воспроизведения.

public static async Task Run(DurableOrchestrationContext ctx) {
    int jobId = await ctx.CallActivityAsync<string>("StartJob", ctx.GetInput<MyData>());
    int pollingInterval = GetPollingInterval();
    DateTime expiryTime = GetExpiryTime();

    while (ctx.CurrentUtcDateTime < expiryTime) {
        var jobStatus = await ctx.CallActivityAsync<string>("GetJobStatus", jobId);
        if (jobStatus == "Completed") {
            await ctx.CallActivityAsync("SendAlert", machineId);
            break;
        }
        var nextCheck = ctx.CurrentUtcDateTime.AddSeconds(pollingInterval);
        await ctx.CreateTimer(nextCheck, CancellationToken.None);
    }
}

Если асинхронное задание, запускаемое в действии StartJob, обычно выполняется в течение одной или двух секунд, стоило бы добавитьэто издержки для контрольной точки и повторного входа, в отличие от опроса в действии StartJob с каким-либо типом политики отката?

...