Я использую FASTAPI и AsyncIOScheduler.
Мое условие планировщика: запускать задачу каждый день в 6 утра с start_time = 6 утра и временем окончания 8 утра.
Я добавил код планировщика в lifespan, в котором ваш код выполняется только один раз при запуске приложения.
Чтобы начать, обратитесь к коду, в который я добавил datetime.now(). и время окончания, но оно будет выполняться только один раз, потому что оно добавлено в течение жизненного цикла, так как я могу выполнять задание каждый день.
@asynccontextmanager
async def lifespan(app: FastAPI):
# Run at startup
def print_hello():
print("Hello", datetime.now())
from apscheduler.schedulers.asyncio import AsyncIOScheduler
from datetime import datetime, timedelta
scheduler = AsyncIOScheduler()
print("Datetime.......",datetime.now())
start_time = datetime.now() + timedelta(seconds=5) # Start in 10 seconds
end_time = datetime.now() + timedelta(seconds=15) # End in 60 seconds
scheduler.add_job(print_hello, "interval", start =start_time, end = end_time, seconds=1)
scheduler.add_job(print_hello, 'cron', hour=6, minute=0)
scheduler.start()
yield
# Run on shutdown (if required)
scheduler.shutdown()
Подробнее здесь: https://stackoverflow.com/questions/790 ... cheduler-i
Необходимо ежедневно запускать задание планировщика с указанием времени начала и окончания, используя AsyncIOScheduler в ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение