170 похожих чатов

Предскажите, можно ли както ограничить время выполнения Task? Тоесть если

он не завершится за n секунд, то выбрасываем исключение.

6 ответов

6 просмотров

ты можешь выбросить ожидающему такой таск исключение чтобы он не ждал больше, но отменить таск будет сложнее

Alex- Автор вопроса
Ayrat Hudaygulov
ты можешь выбросить ожидающему такой таск исключен...

У меня коллекция тасков, если пара из них не выполнится то и хрен с ними, я только хочу ограничить время выполнения каждого из них, ожидаю завершение тасков с помощью Task.WhenAll

Alex- Автор вопроса

Но ожидаю я то все сразу таски, их количество меняется от раза к разу, можно отвести условно 5 секунд на один и посчитать ожидание для Task.WhenAll, но это не совсем правильно будет

Alex
Но ожидаю я то все сразу таски, их количество меня...

ну вот чот такое смастери open System.Threading.Tasks open System let runAllWithTimeout (timeout: TimeSpan) (tasks: Task<_>[]) = task { let waitMax = Task.Delay timeout let runAll = Task.WhenAll tasks let! waitMaxOrRunAll = Task.WhenAny(waitMax, runAll) return if waitMaxOrRunAll = waitMax then failwith "Timeout" else runAll.Result }

Alex- Автор вопроса

Спасибо, я думал может что то встроенное есть в шарп, но видимо буду использовать что то такое Task.WhenAny(Task.WhenAll(tasks), Task.Delay(timeout));

Alex
Спасибо, я думал может что то встроенное есть в ша...

Я как-то раз делал канселяцию неканселируемого по best practice, посмотри тут. Там даже ссылка на статью от Тауба, вроде.

Похожие вопросы

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
53
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
или вы считаете муит дает знание?
супер_лох_3000 альфа версия
12
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
А вот посоветуйте что-нибудь почитать на тему проектирования систем на Хаскеле? Теории по самому языку и смежным теориям - масса, но как из всех этих теорий построить архитект...
Jevgeni Goloborodko
7
значить например он учился в СДУ то получается он особенный?)
Asets Serikov
11
А кто такой мужчина в твоем понимании Азиз?
who?です 🐈
11
Карта сайта