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

312
Views
docker-compose y cierre elegante de Celery

Me he estado preguntando y buscando soluciones para esto y no encontré ninguna.

Estoy ejecutando Celery en un contenedor creado con docker-compose. Mi contenedor está configurado así:

 celery: build: . container_name: cl01 env_file: ./config/variables.env entrypoint: - /celery-entrypoint.sh volumes: - ./django:/django depends_on: - web - db - redis stop_grace_period: 1m

Y mi script de punto de entrada se ve así:

 #!/bin/sh # Wait for django sleep 10 su -m dockeruser -c "celery -A myapp worker -l INFO"

Ahora, si ejecuto docker-compose stop , me gustaría tener un apagado cálido (elegante), dándole a Celery el minuto proporcionado ( stop_grace_period ) para terminar las tareas ya iniciadas. Sin embargo docker-compose stop parece matar a Celery de inmediato. Celery también debería registrar que se le pide que se apague correctamente, pero no veo nada más que una interrupción abrupta de mis registros de tareas.

¿Qué estoy haciendo mal o qué debo cambiar para que Celery se apague correctamente?

editar: la respuesta sugerida a continuación sobre proporcionar el parámetro --timeout para la docker-compose stop no resuelve mi problema.

about 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Debe marcar el proceso de celery con exec , de esta manera el proceso de apio tendrá la misma ID que el comando docker y la ventana acoplable podrá enviarle una señal SIGTERM y cerrar correctamente el proceso de apio.

 # should be the last command in script exec celery -A myapp worker -l INFO
about 4 years ago · Santiago Trujillo Report

0

A través de documentos

 Usage: stop [options] [SERVICE...] Options: -t, --timeout TIMEOUT Specify a shutdown timeout in seconds (default: 10).

Pruebe con el tiempo de espera establecido en 60 segundos como mínimo.

about 4 years ago · Santiago Trujillo Report

0

Intenta usar esto:

 docker-compose down
about 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!