# standard imports import logging # third-party imports from sqlalchemy import Column, String from sqlalchemy.orm.session import Session # local imports from cic_ussd.db.models.base import SessionBase logg = logging.getLogger(__name__) class TaskTracker(SessionBase): __tablename__ = 'task_tracker' def __init__(self, task_uuid): self.task_uuid = task_uuid task_uuid = Column(String, nullable=False) @staticmethod def add(session: Session, task_uuid: str): """This function persists celery tasks uuids to storage. :param session: Database session object. :type session: Session :param task_uuid: The uuid for an initiated task. :type task_uuid: str """ session = SessionBase.bind_session(session=session) task_record = TaskTracker(task_uuid=task_uuid) session.add(task_record) session.flush() SessionBase.release_session(session=session)