Функция .NET 8 Durable – невозможно отловить тайм-аут активности при локальном запуске в VS 2022.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Функция .NET 8 Durable – невозможно отловить тайм-аут активности при локальном запуске в VS 2022.

Сообщение Anonymous »

В настоящее время я разрабатываю надежную функцию для обработки больших загрузок файлов, и у меня возникают некоторые проблемы при локальной проверке тайм-аутов активности.
Коротко о моем сценарии попытка тестирования заключается в следующем: оркестратор передает информацию, необходимую для обработки загрузки, в действие (

Код: Выделить всё

ResumeUpload
), и если задача CallActivityAsync этого действия завершится с ошибкой TaskFailedException, вызванной тайм-аутом, я буду знать, что загрузка не завершена и что мне следует вызвать ее еще раз, чтобы возобновить работу. загрузить.
Для этого я установил "functionTimeout": "00:01:00" в моем файле host.json и изменил ResumeUpload< /code> ждать бесконечно, используя Task.Delay().
Это работает нормально, пока не истечет тайм-аут, и в этот момент я ожидаю, что VS остановится на точке останова в оркестраторе, перехватив TaskFailedException; вместо этого dotnet.exe просто закрывается, и сеанс отладки завершается.
Оркестратор и активность (упрощенно):

Код: Выделить всё

[Function(nameof(RunOrchestrator))]
public static async Task RunOrchestrator([OrchestrationTrigger] TaskOrchestrationContext context)
{
var logger = context.CreateReplaySafeLogger(context.Name);
var uploadRequest = context.GetInput();

try
{
await context.CallActivityAsync(nameof(ResumeUpload), uploadRequest);
}
catch (TaskFailedException ex)
{
// This is never reached!
logger.LogError(ex, "inspect task failure exception");
}
}

[Function(nameof(ResumeUpload))]
public static async Task ResumeUpload([ActivityTrigger] UploadRequest uploadRequest, FunctionContext context)
{
// Force this activity to time out
await Task.Delay(TimeSpan.FromHours(1));
}
Когда происходит тайм-аут, я вижу сообщение об этом в терминале, который VS создает при запуске проекта, пока все хорошо:

Код: Выделить всё

[2024-11-06T17:10:06.427Z] Microsoft.Azure.WebJobs.Host: Timeout value of 00:01:00 was exceeded by function: Functions.ResumeUpload.
[2024-11-06T17:10:08.451Z] A function timeout has occurred. Restarting worker process executing invocationId '9d808fd3-6274-4211-9dcf-d514e8fe3ec2'.
Однако после этого процесс сразу же завершается, и я возвращаюсь обратно в VS, так и не достигнув точки останова, которую я поместил в оператор catch моего оркестратора. Это также верно, если я попытаюсь перехватить общее исключение вместо TaskFailedException.
[img]https:// i.sstatic.net/mVMlRJDs.png[/img]

Я часами просматривал Google и не встретил никого, кто бы сообщал об этой проблеме, и в ходе поиска я встретил несколько примеров. это показывает, что то, что я пытаюсь сделать, должно быть возможным, например: Я очень хорошо разбираюсь в функциях Azure, поэтому Возможно, я упускаю что-то очевидное, буду благодарен за любую помощь или советы, которые вы можете придумать! Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ng-locally
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Функция .NET 8 Durable – невозможно отловить тайм-аут активности при локальном запуске в VS 2022.
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Вызывает ли сбой тайм-аут сторожевого таймера или тайм-аут является результатом сбоя?
    Anonymous » » в форуме Linux
    0 Ответы
    157 Просмотры
    Последнее сообщение Anonymous
  • Тайм-аут вызова API и тайм-аут попытки вызова API dynamodb
    Anonymous » » в форуме JAVA
    0 Ответы
    121 Просмотры
    Последнее сообщение Anonymous
  • Тайм-аут функции HTTP Azure при запуске другой функции, но работает при прямом запуске.
    Гость » » в форуме Python
    0 Ответы
    134 Просмотры
    Последнее сообщение Гость
  • Функция Azure Durable вылетает с неизвестным исключением
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»