web-dev-qa-db-fra.com

Python APSCHEDuler échoue: "Seuls les fuseaux horaires de la bibliothèque Pytz sont pris en charge" Erreur

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()
4
KZiovas

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

1
KZiovas