Laravel-了解工作概念 [英] Laravel - understanding Job concept

查看:0
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆