arbiter-core-0.1.0.0
arbiter-core
Safe HaskellNone
LanguageGHC2024

Arbiter.Core.Gates

Description

Schema-scoped watermark gates for global tasks (refresh groups, sweep stale workers). One row per task holding last_run_at. runGated claims the row with SELECT ... FOR UPDATE SKIP LOCKED once the interval has elapsed. At most one worker pool runs the task per interval.

Synopsis

Documentation

Source #arbiterGatesTable :: SchemaName -> Text

Qualified name of the gates table.

Source #arbiterGatesTableName :: Text

Bare name of the gates table, for catalog lookups by relname.

Source #createGatesTableSQL :: SchemaName -> Text

DDL for the arbiter_gates table.

Source #addGateMetadataColumnSQL :: SchemaName -> Text

Add the column a task publishes its result into.