import arlo
This commit is contained in:
0
database/ttaskqueue/__init__.py
Normal file
0
database/ttaskqueue/__init__.py
Normal file
BIN
database/ttaskqueue/__pycache__/__init__.cpython-312.pyc
Normal file
BIN
database/ttaskqueue/__pycache__/__init__.cpython-312.pyc
Normal file
Binary file not shown.
BIN
database/ttaskqueue/__pycache__/curd.cpython-312.pyc
Normal file
BIN
database/ttaskqueue/__pycache__/curd.cpython-312.pyc
Normal file
Binary file not shown.
BIN
database/ttaskqueue/__pycache__/model.cpython-312.pyc
Normal file
BIN
database/ttaskqueue/__pycache__/model.cpython-312.pyc
Normal file
Binary file not shown.
21
database/ttaskqueue/curd.py
Normal file
21
database/ttaskqueue/curd.py
Normal 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
|
||||
|
||||
|
||||
18
database/ttaskqueue/model.py
Normal file
18
database/ttaskqueue/model.py
Normal 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='任务是否执行完成')
|
||||
Reference in New Issue
Block a user