Контекст: у нас есть задача, которая может занять от 30 секунд до 5 минут в зависимости от службы, которую мы потребляем в некоторых Azure функциях.
Мы планируем отслеживать текущее состояние этого объекта задачи чтобы убедиться, что он работает и не был отменен / неисправен.
Существует два способа go обойти это:
- Создать задачу, запустить ее и затем отменить, когда основная задача выполнена. В качестве альтернативы, возможно, используйте Task.Delay вместе с некоторое время с условием.
- Создайте поток, запустите его и подождите, пока он не завершится sh (с условием времени, чтобы избежать времени, которое выполняется вечно).
Мы провели некоторое исследование и поняли, что у обоих есть свои плюсы и минусы. Но мы все еще не уверены в том, какой из них будет наилучшим, и почему .
В аналогичном сценарии, что бы вы использовали? Задача, тема или что-то еще?