Loading

Laravel 框架中queue:listen 和 queue:work --daemon 的区别

在Laravel框架中当我们使用到监听队列的时候,会遇到下面的问题:

  1. 问题:通常会遇到cpu飙升的情况

  2. 通常使用到的命令:

    php artisan queue:listen
    php artisan queue:work --daemon

  3. 这两个监控命令的区别:

    queue:listen监听队列请求, 只要运行着, 就能一直接受请求, 每次重新加载整个框架,除非手动终止
    queue:work --daemon 同 listen 一样, 只要运行着, 就能一直接受请求, 不一样的地方是在这个运行模式下, 当新的请求到来的时候, 不重新加载整个框架, 而是直接执行内存中的那个原来的文件

    注意: 使用 queue:work --daemon , 当更新代码的时候, 需要停止, 然后重新启动, 这样才能把修改的代码应用上,同swoole机制一样,常驻内存

  4. 通过上面的两个命令相比较发现:

    queue:listen 会占用大量的cpu去加载整个框架
    queue:work --daemon 不会占用cpu去加载框架,常驻内存,每次更新完对应的队列代码需要重新启动

 

posted @ 2023-08-27 13:20  Carvers  阅读(610)  评论(0)    收藏  举报