HTTP-опрос и мониторинг надежных функций в функциях Azure

Есть ли приятное место между опросом конечной точки с помощью политики и использованием шаблона мониторинга с долговременными функциями? Я проиллюстрирую слегка измененный пример мониторинга из документов 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 с каким-либо типом политики отката?

0 ответов

Другие вопросы по тегам