import arlo

This commit is contained in:
konjacpotato
2025-11-05 21:00:19 +08:00
commit 2c8426d543
69 changed files with 789 additions and 0 deletions

View File

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,21 @@
from database.ttaskqueue.model import TTaskQueue
def create_task(db, task: TTaskQueue):
db.add(task)
db.commit()
db.refresh(task)
return task
def get_tasks_to_finish(db) -> list[TTaskQueue]:
return db.query(TTaskQueue).filter(TTaskQueue.finished == False).all()
def finish_task(db, task_id: int):
task = db.query(TTaskQueue).filter(TTaskQueue.id == task_id).first()
if task:
task.finished = True
db.commit()
db.refresh(task)
return task

View File

@ -0,0 +1,18 @@
from datetime import datetime
from sqlalchemy import Column, String, Boolean, TIMESTAMP, func
from sqlalchemy.dialects.postgresql import BIGINT
from dataclasses import dataclass
from database.database import Base
@dataclass
class TTaskQueue(Base):
__tablename__ = 't_task_queue'
id: int = Column(BIGINT, primary_key=True, autoincrement=True, comment='自动递增的唯一任务ID')
create_time: datetime = Column(TIMESTAMP(timezone=True), server_default=func.now(), nullable=False, comment='任务创建时间')
task_name: str = Column(String, nullable=True, comment='任务名称')
module_path: str = Column(String, nullable=True, comment='任务模块路径')
function_name: str = Column(String, nullable=True, comment='任务函数名称')
scheduler: str = Column(String, nullable=True, comment='任务执行者名称')
finished: bool = Column(Boolean, default=False, nullable=False, comment='任务是否执行完成')