"""Task Instance Error Log."""
from typing import Tuple
from sqlalchemy import Column, DateTime, ForeignKey, Integer, Text
from sqlalchemy.orm import Mapped, mapped_column, relationship
from sqlalchemy.sql import func
from jobmon.core.serializers import SerializeTaskInstanceErrorLog
from jobmon.server.web.models import Base
[docs]
class TaskInstanceErrorLog(Base):
"""The table in the database that logs the error messages for task_instances."""
[docs]
__tablename__ = "task_instance_error_log"
[docs]
def to_wire(self) -> Tuple:
"""Serialize task instance error log object."""
return SerializeTaskInstanceErrorLog.to_wire(
self.id, self.error_time, self.description
)
[docs]
id: Mapped[int] = mapped_column(Integer, primary_key=True)
[docs]
task_instance_id = Column(Integer, ForeignKey("task_instance.id"), nullable=False)
[docs]
error_time = mapped_column(DateTime, default=func.now())
[docs]
description: Mapped[str] = mapped_column(Text)
[docs]
task_instance = relationship("TaskInstance", back_populates="errors")