Laravel中的Job,Queue和Worker有什么区别?

镁镁色调

我正在做一个Laravel项目。我正在使用作业队列执行某些功能。我使用主管来运行作业侦听命令。但是我对这个概念不太了解。这是我的问题。

  1. 我有8个工人。他们如何参与工作队列系统?
  2. 如果我增加他们的数量,工作处理速度会更快吗?
  3. 只要增加它们,是否还会占用更多RAM?如果我的服务器有16GB的内存,我可以有多少个工人?
  4. 作业要排队吗?(下图)作业队列
穆罕默德·戴亚斯·亚斯库
  1. 我有8个工人。他们如何参与工作队列系统?

    工作者可以简单地作为可以同时处理工作的处理器/用户。8名工人意味着一次可以处理8个过程/功能。

  2. 如果我增加他们的数量,工作处理速度会更快吗?

    Maybe yes, but maybe no. Depend on your process and server resource like RAM/CPU/Disk speed. If your running workers consume high resource it could make the server freeze/slow, but if the resource consume for each worker is low it's could make faster queue.

  3. As long as I increase them, it will take more RAM too? If my server has 16GB ram, how much workers can I have?

    Yes, depend on how much free RAM and how much RAM consume each process. If free RAM 10gb, and the average process consume 100mb RAM, so the max workers should be 100. Maybe you still can increase it but it will affect other workers process. And also CPU and disk usage is also important factor too.

  4. Does job go to queque? (Image below)

    Sorry, I don't fully understand about your image. But if you have 8 workers, the queue should only 2.

  5. 您能解释一下作业和队列之间的区别吗?Job是包含通常创建到App\Jobs文件夹的功能/过程的类可以多次排队或调度/执行作业。队列是有空闲工作人员时需要执行的作业列表。如果您将作业分派到队列中,它将转到pending queue;如果您有空闲工人,则该作业将被执行或转到running queue执行/完成作业后,将从队列列表中删除该作业。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Quartz中的Job和JobDetail有什么区别?

JavaScript中的&和&&有什么区别?

HTML5中的Shared Worker和Worker之间有什么区别?

{{}}和{!!有什么区别?!!}在laravel刀片文件中?

XPath中.//和// *有什么区别?

queue:work --daemon和queue:listen有什么区别

在Laravel 5中,命令和事件有什么区别?

Laravel Queue,Beanstalkd与数据库,有什么区别?

SQL Job和Windows Task Scheduler有什么区别?

Laravel中的updateOrCreate()和updateOrInsert()有什么区别

laravel 5中的Models和Repository有什么区别?

“经典”和“模块” Web Worker之间有什么区别?

在Laravel工厂中,“ state”和“ defineAs”有什么区别?

RxJS与Scheduler.queue和null有什么区别?

laravel中的list和select之间有什么区别

XPath中// * [*]和// * [。]有什么区别?

Laravel 5.7中的auth和access有什么区别?

Web Worker和Worker Thread有什么区别?

laravel和lumen有什么区别

laravel刀片文件中的{{}}和{{{}}}有什么区别?

Job和Daemon有什么区别?

Celery 中的 task_reject_on_worker_lost 和 task_acks_late 有什么区别

Rundeck 和 Quartz (Job Scheduler) 有什么区别?

Laravel:schedule->call()->daily() 有什么区别?和 schedule->job()->daily()?

Haskell 中的 *> 和 >> 有什么区别?

laravel 中的 phpredis 和 predis 有什么区别?

laravel 中的 Request 和 LoginRequest 有什么区别

Laravel 中的块和分页有什么区别?

Laravel 迁移中的 Text 和 LongText 有什么区别?