FireX Keeper
FireX Keeper is a lightweight process that collects and persists task data from a FireX execution in an SQLite database. The database can be queried for task results, run states, arguments, and execution relationships.
The implementation is distributed as part of firexapp while retaining the
firex_keeper import namespace, firex_keeper command, and Keeper
tracking-service entry point.
API Reference
Process events from Celery.
- class firex_keeper.keeper_event_consumer.KeeperEventAggregator(run_db_manager: WritingFireXRunDbManager, firex_id: str)[source]
Aggregates many events in to the task data model. Tries to minimize memory usage and disk-reads by keeping only incomplete tasks in memory. Task completeness is ill defined, so it may always be necessary to read a task in order to perform aggregation.
- class firex_keeper.keeper_event_consumer.KeeperThreadedEventWriter(run_metadata, writing_complete_callback)[source]
Aggregates Celery events from a queue and writes to the Keeper DB in a seperate thread.
- class firex_keeper.keeper_event_consumer.TaskDatabaseAggregatorThread(celery_app, run_metadata: RunMetadata, max_retry_attempts: int | None = None, receiver_ready_file: str | None = None)[source]
Receives Celery events and puts them on an internal queue to eventually store the FireX datamodel in an SQLite DB.
- class firex_keeper.keeper_event_consumer.WritingFireXRunDbManager(run_metadata: RunMetadata)[source]
Utility functions for the firex_keeper package.
- class firex_keeper.keeper_helper.FireXTreeTask(uuid, firex_id, chain_depth, firex_bound_args, firex_result, firex_default_bound_args, from_plugin, hostname, logs_url, long_name, name, actual_runtime, first_started, parent_id, retries, state, task_num, utcoffset, exception, traceback, exception_cause_uuid, children, parent)
- actual_runtime
Alias for field number 11
- chain_depth
Alias for field number 2
- children
Alias for field number 21
- exception
Alias for field number 18
- exception_cause_uuid
Alias for field number 20
- firex_bound_args
Alias for field number 3
- firex_default_bound_args
Alias for field number 5
- firex_id
Alias for field number 1
- firex_result
Alias for field number 4
- first_started
Alias for field number 12
- from_plugin
Alias for field number 6
- hostname
Alias for field number 7
- logs_url
Alias for field number 8
- long_name
Alias for field number 9
- name
Alias for field number 10
- parent
Alias for field number 22
- parent_id
Alias for field number 13
- retries
Alias for field number 14
- state
Alias for field number 15
- task_num
Alias for field number 16
- traceback
Alias for field number 19
- utcoffset
Alias for field number 17
- uuid
Alias for field number 0
- class firex_keeper.persist.FireXRunDbManager(db_conn)[source]
Read-only operations on a keeper DB connection.