Skip to content

task

CheckMate Task ORM Model

This module defines the Task class, which represents a managed, multi-staged task for the CheckMate package.

Attributes

TAG_SEPARATOR module-attribute

TAG_SEPARATOR = ','

Classes

Task

Bases: Base

EleanorAI Framework CheckMate Task Model

Attributes

__table_args__ class-attribute instance-attribute
__table_args__ = (
    Index("idx_cleaned_status", "cleaned", "status"),
    Index(
        "idx_service_filter",
        "cleaned",
        "queue",
        "status",
        "create_ts",
        "update_ts",
    ),
    Index(
        "idx_tags_fulltext",
        "tags",
        mysql_prefix="FULLTEXT",
        mariadb_prefix="FULLTEXT",
    ),
    {"comment": __doc__},
)
__tablename__ class-attribute instance-attribute
__tablename__ = 'task'
base_url class-attribute instance-attribute
base_url: Mapped[str] = mapped_column(
    String(255),
    nullable=False,
    comment="Base URL of the persistent task metadata",
)
checkmate_factory class-attribute instance-attribute
checkmate_factory: Mapped[str] = mapped_column(
    String(255),
    nullable=False,
    comment="CheckMate factory function",
)
cleaned class-attribute instance-attribute
cleaned: Mapped[bool] = mapped_column(
    default=False,
    comment="Flag indicating whether or not the task persistence metadata has been cleaned",
)
create_ts class-attribute instance-attribute
create_ts: Mapped[datetime] = mapped_column(
    server_default=now(), comment="Record create timestamp"
)
memo class-attribute instance-attribute
memo: Mapped[str] = mapped_column(
    String(255),
    nullable=True,
    comment="Brief description of the task",
)
pkid class-attribute instance-attribute
pkid: Mapped[str] = mapped_column(
    String(PKID_LEN),
    primary_key=True,
    default=prefixed_uuid(__tablename__),
    comment="Unique CheckMate task identifier",
)
queue class-attribute instance-attribute
queue: Mapped[str] = mapped_column(
    String(255),
    nullable=True,
    comment="Optional queue name the task belongs to",
)
result_json class-attribute instance-attribute
result_json: Mapped[str] = mapped_column(
    LONGTEXT,
    nullable=True,
    comment="Task result JSON data, this is typically the output of the last completed stage and can contain the final result. Data here is not removed by a clean operation.",
)
status class-attribute instance-attribute
status: Mapped[str] = mapped_column(
    String(50),
    nullable=True,
    comment="Last known status of the task, based on persistence data",
)
tags property writable
tags: List[str]
update_ts class-attribute instance-attribute
update_ts: Mapped[datetime] = mapped_column(
    server_default=now(),
    onupdate=current_timestamp(),
    comment="Record update timestamp",
)

Functions