Writing a Backend
A backend is a MonadArbiter instance. An arbiter-orville
application can define one on its own monad in place of OrvilleDb.
| Member | |
|---|---|
RegistryOf | the queue registry |
Handler | the handler type, with a connection argument if the library has one |
getSchema | the Arbiter schema |
executeQuery, executeStatement | run a Query: SQL with ? placeholders, the same with $n for libpq, parameters, decoder |
withDbTransaction | transaction, or a savepoint when nested. See worker configuration |
runHandlerWithConnection | check out a connection and run a handler |
getListener | shared LISTEN/NOTIFY listener, or Nothing for polling. See wakeups |
executeQueryPrepared | optional. Defaults to executeQuery. Claims use it. Prepared once per connection when overridden. See benchmarks. |
Method signatures: MonadArbiter Haddocks.