# -*- coding: utf-8 -*- # @Time : 2023/10/24 19:43 # @Author : tx # @File : empty_drug.py.py # @Description : 每日定时任务,满一年空瓶药剂进行删除 import httpx from apscheduler.schedulers.asyncio import AsyncIOScheduler from pytz import timezone from datetime import datetime, timedelta from tortoise.queryset import QuerySet from conf import setting from helper.logger import logger from models import Drug, DrugStateEnum async def empty_drug_job(): """ 满一年空瓶药剂条目删除 :return: """ now_time = datetime.now() one_year_ago = now_time - timedelta(days=365) await Drug.filter(state=DrugStateEnum.EMPTY, update_at__lt=one_year_ago).all().delete() def start_empty_scheduler(): """启动定时任务,每日1点执行""" scheduler = AsyncIOScheduler(timezone=timezone('Asia/Shanghai')) scheduler.add_job(empty_drug_job, 'cron', day_of_week='*', hour='1', minute='0') scheduler.start()