Laravel-了解工作概念 [英] Laravel - understanding Job concept
本文介绍了Laravel-了解工作概念的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在处理Laravel队列时,我理解的作业就是将任务放在队列中一个接一个地执行。
拉威尔文件说:
换句话说,如果您在调度作业时没有显式定义 应将作业调度到哪个队列,则作业将放置在 在连接的队列属性中定义的队列 配置://此作业将发送到默认队列...
Job::dispatch();
//此作业将发送到"电子邮件"队列...
Job::dispatch()->onQueue('emails');
在同一文档页面的另一个位置,我发现:
ProcessPodcast::dispatch($podcast);
ProcessPodcast
在这里是使用参数$podcast
调度的作业。但我在文档中找不到语法Job::
,除了上面提到的两行。
q1)那么在哪里以及如何使用语法Job::
?
config/queue.php
内的connections
数组中的每个元素都有'queue' => 'default',
。
q2)emails
中的emails
队列来自哪里?
推荐答案
a1:如lagbox所说,作业是您要创建和调度的任何作业的通用名称。
A2:队列不需要在任何地方定义,您只需告诉Laravel您要将作业分派到哪个队列,仅此而已。例如,如果为数据库连接调用Job::dispatch()->onQueue('emails');
,将在队列作业表中新建一行(默认表名为jobs
),queue
列将填充emails
。此后,仅当您运行指定电子邮件队列的Worker时才会执行此作业:php artisan queue:work --queue=emails
。如果在配置/队列.php文件中指定的数据库连接的默认队列是电子邮件队列,则在运行Worker命令时不需要指定队列。
如果您有多个队列,则可以为每个队列创建一个进程,以便可以定义每个作业队列的运行方式。
这篇关于Laravel-了解工作概念的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文