def auto_delete_delivery():
def delete_job():
from xiaodi.api.mysql import session_scope, Task
now = datetime.utcnow()
for deadline, id_ in TaskDepot.scan_delete_task():
deadline, id_ = tranform_utctime(deadline), int(id_)
id_, deadline = int(id_), tranform_utctime(deadline)
if now < deadline:
break
with session_scope() as session:
delivery = session.query(Task).filter(Task.id == id_).first()
user = gen_temp_object(id=delivery.puser_id)
DeliveryManager.delete(user, delivery, session=session)
LOG.info('auto delete task finished')
schedule.every(5).minutes.do(delete_job)
评论列表
文章目录