我使用Laravel forge和Redis作为队列驱动程序。
我已经更新了我的应用程序的代码,以便多次发送推送通知,但发送的通知与旧代码一样。
将队列驱动程序更改为数据库,根据最新更新发送通知。但是,当我将其切换回Redis时,它仍然显示旧版本的通知。
我通过redis-cli完成了“FLUSHALL”,但它没有解决它。
我也使用Laravel Horizon来管理队列。
我如何解决这个问题?提前谢谢。
编辑:我注意到的其他事情是所有代码驱动的调度都在Redis上排队。我已经在答案中列出了解决方案,希望它可以帮助其他人。
答案 0 :(得分:2)
我从Forge支持中收到的信息:
您好,
可能有一个工人被卡住了你可以尝试运行
npm install
这应该杀死所有流氓工人进程,然后 重启守护进程。建议你在你的运行中运行purge命令 部署脚本,以确保所有陈旧的进程都被终止。- Mohamed Said forge@laravel.com
然而,我如何对它进行排序:
php artisan
horizon:purge
php artisan horizon:terminate
然后代码正常运行
答案 1 :(得分:0)
停止redis,阻止Horizon工作人员。启动redis然后启动地平线工作者。 但在这些之前都清除缓存。
我有类似的问题,在我的情况下,这只是重启所有服务的问题。