问答 / 3 / 1 / 创建于 3年前 / 更新于 3年前
前言:单台服务器的时候用的是laravel的horizon处理队列,消费、生产、队列分发监控都在一台服务器上完成,确实挺好用的。
目的:我现在把程序部署到函数计算了,没办法常驻执行,用不了horizon。我的想法是单独弄一台服务器,使用别的队列工具用来监控和分发队列消息,但不负责生产和消费,就称之为队列服务器吧。整个流程就是函数计算里的laravel程序生产job,发送到队列服务器,队列服务器再分发job到函数计算的laravel程序执行job。
Laravel Horizon 会自动帮你处理这些事情, 函数计算里面没有办法运行 Horizon 的 worker 但不影响 Laravel 的异步队列模块往 redis 写 job,只要在你的单独的服务器启动 Horizon worker 即可
但这样的话,队列服务器也要维护一份和函数计算一模一样的laravel代码,而且这台服务器还负责队列的消费,任务多了服务器负载不够。我问题里说的那个想法有办法实现吗?
我要举报该,理由是:
Laravel Horizon 会自动帮你处理这些事情, 函数计算里面没有办法运行 Horizon 的 worker 但不影响 Laravel 的异步队列模块往 redis 写 job,只要在你的单独的服务器启动 Horizon worker 即可