http://laravel-china.org/docs/5.1/queues
通过下面的指令来监听指定队列 php artisan queue:listen --queue="队列名"
指定任务所属的队列#
你可以指定任务应该要送到哪一个队列上。
要推送任务到不同的队列上,你需要将任务先「分类」,甚至可能要指定每个队列能有多少作业器可以运行任务。这并不会推送任务到你在配置文件中所定义的不同队列「连接」上,而是会推送到某个有单个连接的队列。要指定任务运行的队列,可以用任务实例的 onQueue
方法。onQueue
是 Illuminate\Bus\Queueable
trait 所提供的方法,而它已经包含在App\Jobs\Job
基类中:
<?php namespace App\Http\Controllers; use App\User; use Illuminate\Http\Request; use App\Jobs\SendReminderEmail; use App\Http\Controllers\Controller; class UserController extends Controller { /** * 发送提醒的 e-mail 给指定用户。 * * @param Request $request * @param int $id * @return Response */ public function sendReminderEmail(Request $request, $id) { $user = User::findOrFail($id); $job = (new SendReminderEmail($user))->onQueue('emails'); $this->dispatch($job); } }
相关推荐
### Laravel框架队列原理与用法分析 #### 一、队列基础概念 在软件开发过程中,队列是一种常见的用于异步处理数据的技术。通过队列可以将耗时的操作(如发送邮件、处理图片等)从主流程中分离出来,提高系统的响应...
- **定义**:Laravel队列提供了一种优雅的方式来延迟执行长时间运行的任务,如发送电子邮件、处理大型数据导入等。 - **驱动器**:Laravel支持多种队列驱动器,如数据库、Redis、Beanstalkd、SQS等,每种驱动器都...
这里指定了超时时间为 90 秒,如果任务处理超过这个时间,则会放弃并重新放入队列,同时设置了重试次数为 1。 2. **问题出现**:在 `Process.php` 文件的第 429 行,日志显示进程接收到信号 "1"。信号 "1" 对应的...
在Laravel框架中,异步队列是一种强大的特性,它允许开发者将耗时的操作如邮件发送、数据分析等从主线程中分离出来,提高应用程序的响应速度。本项目"Laravel开发-laravel-async-queue"专注于在Laravel环境中实现...
`queue-stats`可能是用来收集和展示Laravel队列运行状态的工具或者项目。下面我们将深入探讨Laravel的队列系统及其配置,以及如何利用它来优化应用程序的性能。 ### 1. Laravel队列概念 Laravel队列允许开发者将...
7. **队列worker**:运行`php artisan queue:work --driver=pubsub`命令启动Laravel的队列worker,它会监听Google Cloud Pub/Sub中的消息并执行相应的工作。 8. **监控**:Google Cloud Console提供了丰富的监控和...
Laravel的队列系统是用来异步处理长时间运行的任务,如发送电子邮件、执行复杂的计算或与第三方API交互。通过将这些任务放入队列,可以显著提高应用的响应速度。 ### 2. 队列驱动 Laravel支持多种队列驱动,包括...
在 Laravel 中,要使用数据库驱动的队列,需要先运行 `php artisan queue:table` 命令创建任务表的迁移,然后执行 `php artisan migrate` 来创建表。对于处理失败的任务,Laravel 提供了 `failed_jobs` 表来记录失败...
2. **配置**: 在`config/queue.php` 文件中,添加或修改队列驱动配置,指定使用`beanstalkd`。 3. **发布配置**: 运行`...
在Laravel框架中,内部队列(laravel-internal-queue)是一个强大的功能,它允许开发者将耗时的任务从Web请求中分离出来,提高应用程序的响应速度和用户体验。队列可以处理诸如发送电子邮件、更新数据库、执行计算...
5. **运行时环境**:确保Laravel应用与App Engine的PHP版本兼容,通常需要在app.yaml文件中指定合适的PHP版本。 6. **调度器**:如果应用需要定时任务,可以利用App Engine的调度器与Laravel的Cron系统结合,实现...
Laravel队列允许开发者将长时间运行的任务放入队列,避免阻塞HTTP请求。当任务被添加到队列后,它会在后台处理,不影响用户与应用的交互。队列可以使用多种驱动器,如数据库、Redis、Amazon SQS、Beanstalkd等。 ##...
`queue:restart` 命令是 Laravel 提供的,用于重新启动队列工作者,而 `--queue azure` 参数则指定只重启 Azure 驱动的队列。 在实际应用中,我们还需要考虑如何处理失败的任务。Laravel 提供了重试机制,可以通过 ...
13. **队列**:对于耗时的任务,Laravel提供队列服务,可以将任务放入队列并在后台处理,提升Web应用的响应速度。 14. **错误与日志**:Laravel有完善的错误处理机制和日志系统,可以方便地记录和调试应用中的问题...
为了监听并处理Azure队列中的任务,可以运行Laravel的队列监听器: ```bash php artisan queue:work azure --tries=3 ``` 这将启动一个监听器,它将持续检查Azure队列并处理新任务,同时支持重试策略(`--tries`...
2. **配置队列工作者**:在Laravel的配置文件`config/queue.php`中,可能需要更新队列工作者的配置,指定使用`expbackoffworker`提供的工作器。 3. **自定义错误处理**:项目可能提供了一个自定义的`ShouldBackoff`...
首先,确保系统已经安装了PHP和Composer,然后通过命令行运行`composer create-project --prefer-dist laravel/laravel your_project_name`,这将下载并安装Laravel到指定目录。 3. **路由**:Laravel的路由系统...
在本文中,我们将深入探讨如何在 Laravel 开发中利用 `laravel-sqs-fifo-queue` 实现对 Amazon Simple Queue Service (SQS) FIFO 队列的支持。首先,让我们理解一下 Laravel 框架、SQS 和 FIFO 队列的基本概念。 **...
当两个Laravel项目在同一个服务器上运行,并且使用同一个Redis实例时,如果它们的队列配置都使用默认的`'queue' => 'default'`,就会导致队列冲突。这是因为在Redis中,两个项目的队列任务都会被推送到同一名为`'...