Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

409
Vistas
¿Cuál es la mejor opción para una cola de tareas (Python 3) en Windows ahora que Celery 4 ha dejado de ser compatible con Windows?

Ejecutamos un sitio Flask bajo IIS en Windows, y para tareas fuera de proceso usamos Celery. Celery nos ha dado algunos problemas bajo Windows, pero por ahora estamos satisfechos ejecutando la versión 3.1.12, usando RabbitMQ/AMQP como back-end, que funciona bajo Windows.

La nueva versión de Celery (4) ha dejado de ser compatible con Windows , por lo que estoy buscando una alternativa viable.

RQ parece una cola de tareas muy agradable, pero tampoco es compatible con Windows ( parte inferior de la página)

He visto algunas colas de tareas más aparentemente menos populares como:

  • kuiruk
  • tigretarea
  • Huey

Pero no está claro si son compatibles con Windows y Flask. Me pregunto si alguien tiene experiencia en ejecutar una cola de tareas de Python en Windows que funcione. Tal vez uno de los que mencioné, o una alternativa.

No es una opción para nosotros ejecutar una máquina Linux, porque no tenemos experiencia en la administración de Linux, y tenemos muchas cosas heredadas en ejecución que requieren Windows.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Ejecuto Flask con Huey en Windows sin ningún problema, es cierto que solo para desarrollo y prueba. Para la producción uso Flask/Huey en servidores Linux. Ambos con el back-end de Redis, Flask 0.12 y Huey 1.2.0.

Utilizo el patrón de fábrica para crear una versión "reducida" especializada de una aplicación Flask para uso específico en tareas de Huey. Esta versión no carga planos ni configura Flask-Admin, ya que no son necesarios en las tareas de Huey.

Código de ejemplo de __init__.py en la carpeta de la aplicación. App es una clase que se extiende desde Flask :

 def create_app(settings_override=None): app = App('app') if settings_override: app.config.from_object(settings_override) else: app.config.from_object(os.environ['APP_SETTINGS']) from .ext import configure_extensions configure_extensions(app, admin, load_modules=True) # REST import rest.api_v1 app.register_blueprint(api_v1_bp, url_prefix='/api/v1') # ... and more suff def create_huey_app(): app = App('huey app') app.config.from_object(os.environ['APP_SETTINGS']) from .ext import configure_extensions configure_extensions(app, admin=None, load_modules=False) return app

La idea de configure_extensions está tomada de Quokka CMS . Examine su app __init__.py y su módulo de extensiones para ver cómo se implementa. Tenga en cuenta también cómo este proyecto también crea una aplicación específica ( create_celery_app ) para usar con la cola de tareas de Celery.

Ejemplo de tasks.py . Tenga en cuenta el uso de with app.app_context(): para crear el contexto Flask. Ahora mis funciones tienen acceso a extensiones como Flask-Mail, Flask-SqlAlchemy (db, models), etc.

 @huey.task() def generate_transaction_documents_and_email(transaction_id): app = create_huey_app() with app.app_context(): reports.generate_transaction_documents_and_email(transaction_id) @huey.task() def send_email(subject, recipients, text_body, html_body, attachments=[], cc=[]): app = create_huey_app() with app.app_context(): emails.send_email(subject, recipients, text_body, html_body, attachments, cc) @huey.periodic_task(crontab(minute='30')) def synchronize_mailing_list(): app = create_huey_app() if app.config['CREATESEND_SYNCHRONIZE']: _list_name = app.config['CREATESEND_LIST'] with app.app_context(): sync_delete_ar_subscribers(_list_name) sync_add_ar_subscribers(_list_name)
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda