| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Arbiter.Orville.Worker
Description
Run a worker in OrvilleDb with its handlers and hooks written in the base monad:
import Arbiter.Orville.Worker qualified as ArbO
import Arbiter.Worker qualified as Worker
config <- Worker.manualWorkerConfig 5 (ArbO.orvilleBatchedHandler processJob)
let config' = config {Worker.observabilityHooks = ArbO.orvilleHooks appHooks}
Synopsis
- orvilleBatchedHandler :: forall jobs m payload result (registry :: JobPayloadRegistry). (jobs -> BatchCallbacks m payload result -> m ()) -> jobs -> BatchCallbacks (OrvilleDb registry m) payload result -> OrvilleDb registry m ()
- orvilleHooks :: forall (m :: Type -> Type) payload (registry :: JobPayloadRegistry). Monad m => ObservabilityHooks m payload -> ObservabilityHooks (OrvilleDb registry m) payload
Documentation
orvilleBatchedHandler :: forall jobs m payload result (registry :: JobPayloadRegistry). (jobs -> BatchCallbacks m payload result -> m ()) -> jobs -> BatchCallbacks (OrvilleDb registry m) payload result -> OrvilleDb registry m ()Source #
A batched or manual handler written in the base monad. Its callbacks run in the
worker's own OrvilleDb env, on the handler's connection and inside any
transaction the handler opens.
orvilleHooks :: forall (m :: Type -> Type) payload (registry :: JobPayloadRegistry). Monad m => ObservabilityHooks m payload -> ObservabilityHooks (OrvilleDb registry m) payloadSource #
Hooks written in the base monad.