| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Arbiter.Test.ConcurrencyLimit
Description
Backend-parameterized integration tests for per-job concurrency limits over the shared
CLReg registry. Each job's key comes from the 'HasConcurrency CLPayload' instance.
Synopsis
- newtype CLPayload = CLPayload Text
- type CLReg = '[Queue "arbiter_concurrency_test" CLPayload]
- concurrencyTable :: Text
- concurrencyLimitSpec :: forall env m. HasRegistry m CLReg => (forall a. env -> m a -> IO a) -> SpecWith env
Documentation
A payload declaring one concurrency pool.
Instances
| FromJSON CLPayload Source # | |||||
Defined in Arbiter.Test.ConcurrencyLimit | |||||
| ToJSON CLPayload Source # | |||||
| HasConcurrency CLPayload Source # | |||||
Defined in Arbiter.Test.ConcurrencyLimit Methods | |||||
| Eq CLPayload Source # | |||||
| Generic CLPayload Source # | |||||
Defined in Arbiter.Test.ConcurrencyLimit Associated Types
| |||||
| Show CLPayload Source # | |||||
| type Rep CLPayload Source # | |||||
Defined in Arbiter.Test.ConcurrencyLimit | |||||
Source #type CLReg = '[Queue "arbiter_concurrency_test" CLPayload]
A one-queue registry over CLPayload.
Source #concurrencyTable :: Text
Table name for CLReg, shared across backends.
Source #concurrencyLimitSpec :: forall env m. HasRegistry m CLReg => (forall a. env -> m a -> IO a) -> SpecWith env
The concurrency-limit suite, run against any backend.