задачу и забыть (fire and forget):
public static async void Await(this Task task) => await task;
Стоит ли использовать такую реализацию?
Можно ещё после ожидания задачи задиспозить её
странное название метода) еще бы трай кетч туда, чтоб прогу не повалить случайно. но неплохо, мне нравится.
Ну дак если добавить туда try catch, извне будет неизвестно о её существовании. Но если и делать так, можно в качестве аргумента принять делегат, который будет вызываться для обработки исключения
если не сделать трай кетч, то прога упадет)) важность известности существования курит в сторонке
Ну пусть уж лучше прога упадёт, но зато я пойму, что пошло не так и исправлю это
а че мешает в блоке catch залогать ошибку куда нибудь
Я думаю принимать в аргументы делегат, который будет обрабатывать исключение
она может упасть во время выполнения неважной задачи в релизе)
Говно
https://github.com/JetBrains/rd/blob/b8dce02e660ee3bce10f02a3a6cbd3981758379a/rd-net/Lifetimes/Threading/TaskEx.cs#L18
Задача какая?
Quartz/Hangfire
Ну это решение, наверное, для энтерпрайза какого-нибудь
Просто помни о рисках, что в случае завершения работы сервера задача не будет выполнена. Хенгфаер - топчик для таких целей.
Я не работаю с ASP.NET
А БД есть?
Просто если гарантировано нужно выполнить задачу, то только через БД. Вот и топлю за хенгфаер. Может в твоей случае аварийное завершение ни на что не повлияет.
Хорошо, буду знать
Обсуждают сегодня