Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

728
Views
Python APScheduler falla: error "Solo se admiten las zonas horarias de la biblioteca pytz"

Estoy tratando de ejecutar una aplicación asíncrona de python con un trabajo programado de asyncioscheduler, pero APScheduler falla durante la compilación debido a este error:

Error "Solo se admiten las zonas horarias de la biblioteca pytz"

Incluyo pytz en mi aplicación y estoy pasando la zona horaria. ¿Qué está causando el error?

Estoy llamando al asyncioscheduler en una clase donde creo un administrador de trabajos:

 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)

luego llamo a este administrador desde mi aplicación como:

 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()
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Ok, requería una dependencia tzlocal==2.1 para que pudiera obtener la zona horaria local, supongo que por alguna razón la versión que tiene el módulo no funciona en mi sistema

over 4 years ago · Santiago Trujillo Report

0

La biblioteca tzlocal cambió de pytz a zoneinfo timezones en 3.0 y APScheduler 3.x no es compatible con ellos. Debido a esto, APScheduler 3.7.0 tiene tzlocal anclado a v2.x. Si está instalando tzlocal 3.0 a través de APScheduler, está usando una versión anterior. Actualice.

over 4 years ago · Santiago Trujillo Report

0

Me tropecé con esto también. Y ahora hay una nueva versión de tzlocal (4.1) que en realidad no es compatible con apscheduler 3.x que no se maneja en la fijación: apscheduler 3.8.1 requires tzlocal!=3.*,>=2.0 Esto rompe las cosas si tiene tzlocal==4.1 instalado. tzlocal ahora manualmente en mis requisitos.yml:

tzlocal<3.0 o más específico tzlocal==2.1

Actualización: los documentos de apscheduler indican que este problema se solucionó con 3.8.1 y con 3.9.0 ya no aplican las zonas horarias de pytz. Después de algunas pruebas con diferentes versiones, sigo teniendo los mismos errores con Python 3.10.2, apscheduler 3.8.1/3.9.0 y tzlocal 4.0/4.1. Me veo obligado a usar tzlocal<3.0.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!