django和huey消息列队集成
huey作为django中间件,只能在django启动后才能启动huey消费者进程,每次重启django都需要再重启huey
在settings.py的INSTALLED_APPS 添加:'huey.contrib.djhuey'
在settings.py添加
HUEY = {
'huey_class': 'huey.SqliteHuey', # 使用SQLite作为后端存储
'name': 'myapp', # 队列的名称,可以根据你的应用名称来设置
'filename': 'tasks.db', # SQLite数据库文件的路径和名称
'immediate': False, # 不立即执行任务,而是将其添加到队列中等待处理
}
在manage.py中的main中添加猴子补丁:
#并设置为允许运行权限
if 'run_huey' in sys.argv:
from gevent import monkey
monkey.patch_all()
启动huye消费者:./manage.py run_huey -w 40 -k greenlet
nohup python3 manage.py run_huey -w 40 -k greenlet &
#服务器用这个
注意要在cd /home/mysite目录
#服务器后台运行 第一次要先运行一次消费者,并将生成的db文件设置为读写tail -f nohup.out
#查看输出命令pkill -f manage.py
#结束进程ps aux | grep manage.py
#查看所有进程,有三个就是启动,两个就是关闭了
#如果出现grep 的进程说明是你当前搜索huey的进程本身