J'essaie d'exécuter un python ASYNC APP avec un travail planifié d'asyncioschéduler, mais l'APSCHEDuler échoue pendant la construction en raison de cette erreur:
"Seuls les fuseaux horaires de la bibliothèque Pytz sont pris en charge"
Je comprends Pytz dans mon application et je passe le fuseau horaire. Qu'est-ce qui cause l'erreur?
J'appelle l'asyncioschéduler dans une classe où je crée un gestionnaire d'emploi:
from apscheduler.schedulers.asyncio import AsyncIOScheduler
class ScheduleManager:
def __init__(self) -> None:
self.scheduler = AsyncIOScheduler()
def start(self):
self.scheduler.start()
def stop(self):
self.scheduler.shutdown()
def add_seconds_interval_job(self, callback, interval : int):
self.scheduler.add_job(callback, 'interval', seconds = interval)
def add_minutes_interval_job(self, callback, interval : int):
self.scheduler.add_job(callback, 'interval', minutes = interval)
def add_hours_interval_job(self, callback, interval : int):
self.scheduler.add_job(callback, 'interval', hours = interval)
def add_days_interval_job(self, callback, interval : int):
self.scheduler.add_job(callback, 'interval', days = interval)
ensuite, j'appelle ce manager de ma candidature comme:
from jobs import ScheduleManager, ConfigJob
class AppInitializer:
def __init__(self) -> None:
self.schedule_manager = ScheduleManager()
self.config__job = ConfigJob()
async def initialize(self, app, loop):
self.schedule_manager.add_seconds_interval_job(self.config_job.run, 5)
self.schedule_manager.start()
Ok donc il a nécessité une dépendance tzlocal == 2.1 afin de pouvoir obtenir des fuseaux horaires locaux, je suppose pour une raison quelconque la version que le module ne fonctionne pas sur mon système