2

コード

mapConcurrently httpLBS requests

スロー

ConnectionFailure Network.BSD.getProtocolByName: does not exist (no such protocol name: tcp))

約1kのリクエストの後。

4

1 に答える 1

5

要求はすべて並行して実行され、プロセスがファイル記述子を使い果たします。使用する

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

(使用しない場合はインポートを調整しますClassyPrelude)

httpLBSストリーミングの代替手段を使用する場合は、同等のものがリクエストを消費することを確認してください。そして、あなたbはすべての分野で厳格です。

于 2017-11-06T19:34:24.600 に答える