Source code for server.web.models.array

"""Array Table for the Database."""

from sqlalchemy import Column, DateTime, Integer, String, UniqueConstraint
from sqlalchemy.orm import Mapped, mapped_column
from sqlalchemy.sql import func

from jobmon.core.serializers import SerializeDistributorArray
from jobmon.server.web.models import Base


[docs] class Array(Base): """Array Database object."""
[docs] __tablename__ = "array"
[docs] def to_wire_as_distributor_array(self) -> tuple: """Serialize executor task object.""" serialized = SerializeDistributorArray.to_wire( array_id=self.id, max_concurrently_running=self.max_concurrently_running, name=self.name, ) return serialized
[docs] id: Mapped[int] = mapped_column(Integer, primary_key=True)
[docs] name: Mapped[str] = mapped_column(String(255), index=True, nullable=False)
[docs] task_template_version_id = Column(Integer, index=True)
[docs] workflow_id = Column(Integer, index=True)
[docs] max_concurrently_running: Mapped[int] = mapped_column(Integer)
[docs] created_date = Column(DateTime, default=func.now())
[docs] __table_args__ = ( UniqueConstraint( "task_template_version_id", "workflow_id", name="uc_task_template_version_id_workflow_id", ), )