Исходный код soniks_client.jobs

"""Регистрация постоянных заданий планировщика."""

from datetime import UTC, datetime

from apscheduler.schedulers.base import BaseScheduler

from core.configs import settings
from soniks_client.jobs.resending import resending_jobs
from soniks_client.jobs.sync import sync_observation_jobs
from soniks_client.sat_data import resync_sat_data
from soniks_client.scheduler import SYNC_JOB_ID


[документация] def register_observation_jobs(scheduler: BaseScheduler) -> None: """Зарегистрировать периодическую сверку расписания с порталом.""" scheduler.add_job( func=sync_observation_jobs, trigger="interval", minutes=settings.scheduler.JOB_REQUEST_INTERVAL_IN_MINUTES, next_run_time=datetime.now(UTC), id=SYNC_JOB_ID, replace_existing=True, args=[scheduler], )
[документация] def register_resending_jobs(scheduler: BaseScheduler) -> None: """Зарегистрировать периодическую повторную отправку из ``incomplete``.""" scheduler.add_job( func=resending_jobs, trigger="interval", minutes=settings.scheduler.RESENDING_INTERVAL_IN_MINUTES, next_run_time=datetime.now(UTC), id="register_resending_jobs", replace_existing=True, args=[scheduler], )
[документация] def register_sat_data_jobs(scheduler: BaseScheduler) -> None: """Зарегистрировать периодическое обновление определений спутников. Без ``next_run_time``: на старте bundle уже синхронизирован из ``main()``. """ scheduler.add_job( func=resync_sat_data, trigger="interval", hours=settings.scheduler.SAT_DATA_SYNC_INTERVAL_IN_HOURS, id="register_sat_data_jobs", replace_existing=True, )