prefect.server.events.storage.database

Functions

build_distinct_queries

build_distinct_queries(db: PrefectDBInterface, events_filter: EventFilter) -> list[sa.Column['ORMEvent']]

query_events

query_events(session: AsyncSession, filter: EventFilter, page_size: int = INTERACTIVE_PAGE_SIZE) -> tuple[list[ReceivedEvent], int, Optional[str]]

query_next_page

query_next_page(session: AsyncSession, page_token: str) -> tuple[list[ReceivedEvent], int, Optional[str]]

count_events

count_events(session: AsyncSession, filter: EventFilter, countable: Countable, time_unit: TimeUnit, time_interval: float) -> list[EventCount]

raw_count_events

raw_count_events(db: PrefectDBInterface, session: AsyncSession, events_filter: EventFilter) -> int
Count events from the database with the given filter. Only returns the count and does not return any addition metadata. For additional metadata, use count_events. Args:
  • session: a database session
  • events_filter: filter criteria for events
Returns:
  • The count of events in the database that match the filter criteria.

read_events

read_events(db: PrefectDBInterface, session: AsyncSession, events_filter: EventFilter, limit: Optional[int] = None, offset: Optional[int] = None) -> Sequence['ORMEvent']
Read events from the Postgres database. Args:
  • session: a Postgres events session.
  • filter: filter criteria for events.
  • limit: limit for the query.
  • offset: offset for the query.
Returns:
  • A list of events ORM objects.

write_events

write_events(session: AsyncSession, events: list[ReceivedEvent]) -> None
Write events to the database. Args:
  • session: a database session
  • events: the events to insert

get_max_query_parameters

get_max_query_parameters() -> int

get_number_of_event_fields

get_number_of_event_fields() -> int

get_number_of_resource_fields

get_number_of_resource_fields() -> int