我正在尝试在我的 Flask 应用程序所需的弹性 beantalk 上运行一个huey任务队列。但是没有内置的方式将huey作为守护进程运行。huey 的作者建议使用supervisor运行 huey (此链接),并且由于弹性 beanstalk 已经使用了 supervisor,我认为我们可以添加由 supervisor 管理的程序。但我不确定如何以编程方式执行此操作。目前,我正在使用配置文件中的container_commands
( ref link ) 键来运行它,但是弹性 beanstalk 在一段时间后在前台运行时给了我一个超时错误。下面是我正在使用的配置文件。
packages:
yum:
gcc: []
gcc-c++: []
gcc-gfortran: []
htop: []
make: []
wget: []
atlas-devel: []
lapack-devel: []
commands:
01enable_swap:
command:
- sudo dd if=/dev/zero of=/var/swap1 bs=1M count=1024
- sudo mkswap /var/swap1
- sudo chmod 644 /var/swap1
- sudo swapon /var/swap1
cwd: /home/ec2-user
02install_redis:
command:
- wget "http://download.redis.io/redis-stable.tar.gz"
- tar -xvzf redis-stable.tar.gz
- rm redis-stable.tar.gz
- cd redis-stable
- sudo make
- sudo make install
cwd: /home/ec2-user
container_commands:
01download_nltk_packages:
command: "python install_resources.py"
02run_redis:
command: "redis-server --host 127.0.0.1 --port 6379 --daemonize yes"
03run_huey:
command: "huey_consumer jupiter.huey"
这是我想要实现的目标:
1. 部署我的 Flask 应用程序时,huey 应该作为后台进程运行。
2.主管应处理huey进程的自动启动/停止。