2017-11-06 5 views

答えて

4

要求はすべて並行して実行され、プロセスはファイル記述子を使い果たします。あなたはストリーミングの代替を使用する場合httpLBSのあなたの同等の要求を消費していることを確認してください

(あなたがClassyPreludeを使用しない場合は輸入を調整)

import ClassyPrelude 

traverseThrottled :: (MonadMask m, MonadBaseControl IO m, Forall (Pure m), Traversable t) => Int -> (a -> m b) -> t a -> m (t b) 
traverseThrottled concLevel action taskContainer = do 
    sem <- newQSem concLevel 
    let throttledAction = bracket_ (waitQSem sem) (signalQSem sem) . action 
    mapConcurrently throttledAction taskContainer 

を使用してください。そして、あなたのbはすべての分野で厳しいです。

関連する問題