我不明白Laravelqueue:work
和Laravelqueue:listen
我可以看到:
但是仍然没有得到它,因为我已经尝试了两者,如果有任何新的队列,两者都将运行队列(工作选项不只是运行一次)
我不是在说守护进程选项。就这两个。
queue:work
Artisan命令包含一个--daemon
选项,用于强制队列工作程序继续处理作业,而无需重新启动框架。与queue:listen命令相比,这会显著减少CPU使用量:
如您所见,队列: work
作业支持队列:监听
可用的大多数相同选项。您可以使用php artisan help队列:work
作业来查看所有可用的选项。
https://laravel.com/docs/5.1/queues#running-队列侦听器
匿名用户
在Laravel5.3队列中:work运行一个守护进程侦听器。如果您指定了--daemon
标志,也可以在5.2中使用它。守护进程只引导框架一次,然后重复处理作业。queue:listen
命令在一个循环中运行一个queue:work--one
子进程,该子进程引导框架每次迭代。
queue:work
应该经常在生产中使用,因为它效率更高,占用的内存更少。然而您需要在每次核心更改后重新启动它<代码>队列:listen对于开发和本地环境很有用,因为在代码更改后不必重新启动它(因为框架正在重新启动每个作业)。
从这里
直到Laravel5.2
你才有了:倾听
和:工作
。
Work
将处理队列中的第一个作业。
监听
将处理所有作业。
在Laravel
5.3
中,情况不再如此
Listen
仍然存在,但它已被弃用,并计划在
5.5
中删除。你最好现在就开始工作
Work
现在可以一个接一个地处理作业,但您可以配置过多的选项
编辑
上述情况在发帖时是正确的,但从那以后情况有所改变。
当您希望队列作为守护进程运行时,应首选
队列:工作
。这将是一个长期的过程,如果性能是一个问题,这将是有益的。这将使用应用程序的缓存版本,并且不会在每次处理作业时重新引导应用程序。
队列:当您不关心性能或您不想在更改代码后重新启动队列时,应该使用监听
。
它们都会在收到作业时将作业逐个从队列中弹出
他们都拥有几乎完全相同的期权,可以传递给他们
本文向大家介绍队列和栈是什么?有什么区别?相关面试题,主要包含被问及队列和栈是什么?有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 队列和栈都是被用来预存储数据的。 队列允许先进先出检索元素,但也有例外的情况,Deque 接口允许从两端检索元素。 栈和队列很相似,但它运行对元素进行后进先出进行检索。
(1)队列先进先出,栈先进后出。 (2)遍历数据速度不同。 栈只能从头部取数据 也就最先放入的需要遍历整个栈最后才能取出来,而且在遍历数据的时候还得为数据开辟临时空间,保持数据在遍历前的一致性; 队列则不同,他基于地址指针进行遍历,而且可以从头或尾部开始遍历,但不能同时遍历,无需开辟临时空间,因为在遍历的过程中不影像数据结构,速度要快的多。
rabbitMQ 工作队列 轮询分发 >[danger] 简单队列是一对一的关系,一个生成者对应一个消费者,实际开发中,一般消费者是以业务相结合的,需要时间去处理业务,如果只有一个消费者,那么生产者就会积压很多消息,消费不出去 代码演示: 'use strict'; const Controller = require('egg').Controller; /** * 队列一对多演示 * 生产
工作队列接口 结构体 struct rt_workqueue 工作队列控制块 更多... struct rt_work 工作回调函数信息 更多... 函数 struct rt_workqueue * rt_workqueue_create (const char *name, rt_uint16_t stack_size, rt_uint8_t priority) 创
队列,和 栈一样,也是一种对数据的"存"和"取"有严格要求的 线性存储结构。 与栈结构不同的是, 队列的两端都"开口",要求数据只能从一端进,从另一端出,如图 1 所示: 图 1 队列存储结构 通常,称进数据的一端为 "队尾",出数据的一端为 "队头",数据元素进队列的过程称为 "入队",出队列的过程称为 "出队"。 不仅如此, 队列中数据的进出要遵循 "先进先出" 的原则,即最先进队列的数据元素
我试图在容器启动并运行后运行以下命令。 " 然而,这完全破坏了我的容器启动。 我应该如何以Docker的方式来做这件事? 编辑: 使用docker-comact我添加了这一行到我的docker-compose.yml文件 容器启动了,但没有提供任何请求:S 使用此选项: 启动后容器停止运行 最终解决方案 所以最后我想,也许负责交付应用程序的服务器不应该是运行队列的服务器。 因此,我启动了同一doc