from .database import SessionLocal from .models import TaskHistory import datetime def record_task_start(task_id, name, details=None): db = SessionLocal() try: task = TaskHistory(task_id=str(task_id), name=name, status="running", details=str(details) if details else None) db.add(task) db.commit() except Exception as e: print(f"Error recording task start: {e}") finally: db.close() def record_task_end(task_id, status, details=None): db = SessionLocal() try: task = db.query(TaskHistory).filter_by(task_id=str(task_id)).first() if task: task.status = status task.end_time = datetime.datetime.utcnow() if details: # Append details if existing? Or overwrite? Overwrite for now or simpler append task.details = str(details) db.commit() except Exception as e: print(f"Error recording task end: {e}") finally: db.close()