Описание тега async-workflow
Support in F# for performing computations asynchronously, that is, without blocking execution of other work. For example, asynchronous computations can be used to write applications that have UIs that remain responsive to users as the application performs other work.
2
ответа
Неожиданное поведение с обработкой исключений в асинхронном режиме, возможная ошибка?
Я наткнулся на проблему при вызове вложенного Async, который оказывается нулевым. Возникает исключение, но оно не может быть перехвачено ни одним из обычных методов обработки исключений, которые обеспечивают асинхронные рабочие процессы. Ниже привед…
19 янв '12 в 09:23
2
ответа
Асинхронные рабочие процессы в F#
Я программист C#, но у меня есть вопрос об Async Workflows в F#. Предположим, у меня есть следующий класс в библиотеке классов C#: class File { IAsyncResult BeginReadAll(string fileName, AsyncCallback callback, object state){} string EndReadAll(IAsy…
30 янв '09 в 07:29
2
ответа
Как получить полезную трассировку стека при тестировании асинхронных рабочих процессов F#
Я хотел бы протестировать следующий асинхронный рабочий процесс (с NUnit+FsUnit): let foo = async { failwith "oops" return 42 } Я написал следующий тест для этого: let [<Test>] TestFoo () = foo |> Async.RunSynchronously |> should equal 4…
12 авг '13 в 16:43
1
ответ
Объедините асинхронные и дополнительные монады
При написании некоторого кода, который в последнее время работает с множеством вложенных асинхронных рабочих процессов, я обнаружил появление паттерна, который пахнет для меня. Простой пример: let flip f x y = f y x let slowInc x = async { do! Async…
08 авг '14 в 15:44
1
ответ
F# Async.RunSynchronously с тайм-аутом и отменой Token
При вызове Async.RunSynchronously с таймаутом и CancellationToken значение тайм-аута, кажется, игнорируется. Я могу обойти это, вызвав метод CancelAfter для CancellationToken, но в идеале я хотел бы иметь возможность различать исключения, возникающи…
21 янв '13 в 13:04
1
ответ
Асинхронное вычисление не перехватывает исключение OperationCancelledException
Я пытаюсь сделать асинхронный веб-запрос к URL, который будет возвращаться, если запрос занимает слишком много времени. Для этого я использую асинхронный рабочий процесс F# и библиотеку System.Net.Http. Однако я не могу перехватить Task/OperationCan…
03 окт '14 в 11:14
1
ответ
Узел JS Query Async Map функция является вызовом
function(dataValue, cb) { req.app.db.models.User.find({ _id: { $ne: dataValue._id } }, function(err, totalUser) { if (!err) { var len = totalUser.length; if (len !== 0) { req.app.utility.async.map(totalUser, function(each, callback) { console.log(ea…
13 авг '16 в 14:25
0
ответов
Параллельное использование asyncSeq с помощью BlockingQueueAgent
Время снова смущать себя отсутствием понимания того, как работает параллелизм в.NET:P Я пытаюсь написать функцию, которая может инкапсулировать создание асинхронного рабочего процесса, который принимает входные данные asyncSeq и распределяет их сред…
25 июл '14 в 08:37
1
ответ
Можно ли избежать определения временной метки при вызове асинхронного рабочего процесса F#?
Предположим, у меня есть асинхронный источник данных: let getData() = async { return [ 3.14; 2.72 ] } Я мог бы назвать это с помощью let! и временная метка: let showData1() = async { let! data = getData() data |> Seq.iter (printfn "%A") } Или я м…
23 май '15 в 19:32
2
ответа
F# асинхронный веб-запрос, обработка исключений
Я пытаюсь использовать асинхронные рабочие процессы в F# для получения нескольких веб-запросов. Однако, некоторые из моих запросов иногда возвращают ошибки (например, http 500), и я не знаю, как с этим справиться. Похоже, моя F# программа застревает…
25 авг '09 в 02:20
2
ответа
Позволять! выполняется в последовательности?
У меня сложилось впечатление, что давай! в F# был достаточно умен, чтобы извинять последовательности назначений в параллели. Однако в следующем примере показано другое поведение: назначение a, b, c выполняется синхронно. let sleep sec = async { Syst…
04 окт '10 в 07:42
4
ответа
Распараллелить код во вложенных циклах
Вы всегда слышите, что функциональный код по своей природе проще распараллелить, чем нефункциональный код, поэтому я решил написать функцию, которая выполняет следующее: С учетом ввода строк, суммируйте количество уникальных символов для каждой стро…
05 янв '09 в 03:52
1
ответ
Что такое Scala-эквивалент асинхронных рабочих процессов F#?
Что такое Scala-эквивалент асинхронных рабочих процессов F#? Например, как следующий фрагмент F# перевести на идиоматическую Scala? open System.Net open Microsoft.FSharp.Control.WebExtensions let urlList = [ "Microsoft.com", "http://www.microsoft.co…
07 апр '11 в 10:26
3
ответа
Как сохранить асинхронный параллельный программный код управляемым (например, в C++)
В настоящее время я работаю над серверным приложением, которое должно управлять устройствами сбора данных по сети. Из-за этого нам нужно много параллельного программирования. Со временем я узнал, что существует три подхода к взаимодействию между объ…
25 июн '09 в 15:32
8
ответов
Есть ли асинхронная версия DirectoryInfo.GetFiles / Directory.GetDirectories в dotNet?
Существует ли асинхронная версия DirectoryInfo.GetFiles / Directory.GetDirectories в dotNet? Я хотел бы использовать их в асинхронном блоке F#, и было бы неплохо иметь версию, которую можно вызывать с помощью AsyncCallbacks. Проблема в том, что я пы…
05 апр '09 в 14:40
2
ответа
Лучшие практики для распараллеливания с использованием асинхронного рабочего процесса
Допустим, я хотел почистить веб-страницу и извлечь некоторые данные. Скорее всего, я бы написал что-то вроде этого: let getAllHyperlinks(url:string) = async { let req = WebRequest.Create(url) let! rsp = req.GetResponseAsync() use stream = rsp.GetRes…
30 янв '09 в 17:45
3
ответа
Почему я должен обернуть Async<T> в другой асинхронный рабочий процесс и позволить! Это?
Я пытаюсь понять асинхронные рабочие процессы в F#, но нашел одну часть, которую я действительно не понимаю, и надеюсь, что кто-то может помочь мне с этим. Следующий код работает нормально: let asynWorkflow = async{ let! result = Stream.TryOpenAsync…
16 ноя '17 в 12:56
1
ответ
Async.Catch не работает с OperationCanceledExceptions
Я использую Async.Catch для обработки исключений, генерируемых асинхронными рабочими процессами: work |> Async.Catch |> Async.RunSynchronously |> fun x -> match x with | Choice1Of2 _ -> () // success | Choice2Of2 ex -> // failure, …
16 авг '13 в 13:53
0
ответов
ConfigureAwait(false) в F#
Я использую библиотеку, которая была написана на C# и использует шаблон async / await. В C# я могу ждать чего-то, называя это ConfigureAwait(false) но когда я использую библиотеку из F#, я не вижу способа сделать то же самое? В настоящее время я дел…
30 июн '16 в 17:13
2
ответа
Как использовать асинхронный рабочий процесс в Seq.pick в F#
Я новичок в функциональном программировании в целом и недавно начал изучать F#. Я хотел использовать асинхронный рабочий процесс, возвращающийся Async<'U option> выбрать предмет в последовательности. Я нахожу хороший Seq.pick функция, но я не …
17 авг '11 в 01:47