Как запускать задание планировщика ежедневно с указанием времени начала и окончания, используя AsyncIOScheduler в FastAPPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как запускать задание планировщика ежедневно с указанием времени начала и окончания, используя AsyncIOScheduler в FastAP

Сообщение Anonymous »

Я использую 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 ... heduler-in
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»