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的进程本身