docker – 撰写和优雅芹菜关机
我一直想知道和寻找这个解决scheme,我没有find任何。
我在一个用docker构build的容器中运行芹菜。 我的容器是这样configuration的:
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
我的入口脚本如下所示:
#!/bin/sh # Wait for django sleep 10 su -m dockeruser -c "celery -A myapp worker -l INFO"
现在,如果我运行docker-compose stop
,我想有一个温暖(优雅)的关机,给予芹菜提供的1分钟( stop_grace_period
)来完成已经开始的任务。 然而, docker-compose stop
似乎直接杀死芹菜。 芹菜也应该logging下来,要求它优雅地closures,但是除了突然停止我的任务日志之外,我什么都看不到。
我做错了什么,或者我需要改变什么才能使芹菜优雅地closures?
编辑:下面提供的关于提供--timeout
docker-compose stop
的--timeout
参数的build议不能解决我的问题。
通过文档
Usage: stop [options] [SERVICE...] Options: -t, --timeout TIMEOUT Specify a shutdown timeout in seconds (default: 10).
尝试将超时设置为至less60秒。