async-pool
async-pool copied to clipboard
The `runTaskGroup` function can crash with a "Match Exception" error when an async task is created and cancelled before it is scheduled to run. This issue can lead to unexpected...
Does this library have a "lifted" version similar to [`lifted-async`](https://hackage.haskell.org/package/lifted-async) or [`UnliftIO.async`](https://hackage.haskell.org/package/unliftio-0.2.12/docs/UnliftIO-Async.html) ?
While this library helps in ensuring that only a limited/pre-defined number of actions are evaluated in parallel, it still has one problem (especially with very large input data-sets). If the...
Suppose, I have the following piece of code ``` import Control.Concurrent.Async.Pool (Concurrently(..), withTaskGroup) main :: IO () main = do let xs = [1, 2, 3, 5, 6] :: [Int]...
I am experimenting with this package and cannot use `withTaskGroup` for my setting (because I'm in a custom monad). I can reimplement most of it from the outside, except that...
Sorry about the vague title. I haven't looked into the cause, but I thought it was significant enough to report. I have the following code: ``` liftIO $ withTaskGroup 50...
It was not immediately obvious to me how to construct a correct invocation of `mapReduce`. Its signature shows it returning an `STM (Async a)`, so it seemed not too far-fetched...
I find `makeDependent` a little bit confusing: what happens if it is called in order to indicate that a particular task has dependencies when that task has already been started?...
test/main.hs has the following test, which passes ```haskell it "nested mapTasks work" $ withTaskGroup 1 $ \p -> do mapTasks p ([mapTasks p [pure ()]]) True `shouldBe` True ``` However,...