Skip to content

Event

Event Schema

Description: A single emitted event.

Producers write rows here within the same DB transaction as the
state-change they're describing. The dispatcher polls this table, resolves
matching subscriptions, and creates ``EventNotification`` rows.

The denormalized parent ID columns (``observatory_id``, ``telescope_id``,
``device_id``, ``observation_id``, ``operational_constraint_id``,
``observing_account_id``) let subscriptions filter at any level of the
resource hierarchy without joins.

Properties

Name Type Description
id Integer No description
event_kind String(128) Stable dotted-name identifier; matched against EventKind enum in the SDK.
resource_kind Enum(observation, telescope, observatory, site, device, operational_constraint, operational_constraint_action, observing_account) No description
resource_id Integer Soft FK; the table is implied by resource_kind.
payload JSONB No description
message String(Unbounded) (Optional) No description
dedup_key String(256) (Optional) No description
owner_entity_id Integer (Optional) No description
observatory_id Integer (Optional) No description
telescope_id Integer (Optional) No description
device_id Integer (Optional) No description
observation_id Integer (Optional) No description
operational_constraint_id Integer (Optional) No description
observing_account_id Integer (Optional) No description
created_on DateTime No description
dispatched_on DateTime (Optional) When the dispatcher claimed this row to fan out. Used together with SELECT FOR UPDATE SKIP LOCKED for multi-instance safety.