Modulescheduler-2.0.1.0Haskell2010
Control.Scheduler.Internal
Synopsis
- value withSchedulerInternal
- value initWorkerStates
- value withSchedulerWSInternal
- value trivialScheduler_
- value withTrivialSchedulerR
- value withTrivialSchedulerRIO
- value initScheduler
- value spawnWorkers
- value terminateWorkers
- value scheduleJobs
- value scheduleJobs_
- value scheduleJobsWith
- value reverseResults
- value resultsToList
- value traverse_
- value safeBracketOnError
- Packagescheduler-2.0.1.0
- Exports16
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceInternal.hs
Initialize a separate state for each worker.
The most basic scheduler that simply runs the task instead of scheduling it. Early termination requests are bluntly ignored.
This trivial scheduler will behave in a similar way as withSchedulerR with Seq computation strategy, except it is restricted to PrimMonad, instead of MonadUnliftIO and the work isn't scheduled, but rather computed immediately.
Same as withTrivialScheduler, but works in MonadUnliftIO and returns results in an original LIFO order.
Ignores the result of computation, thus avoiding some overhead.
Conversion to a list. Elements are expected to be in the orignal LIFO order, so calling reverse is still necessary for getting the results in FIFO order.
This is generally a faster way to traverse while ignoring the result rather than using mapM_.