`

laravel 指定队列运行

 
阅读更多

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开发-laravel-sorted-queue

    - **定义**:Laravel队列提供了一种优雅的方式来延迟执行长时间运行的任务,如发送电子邮件、处理大型数据导入等。 - **驱动器**:Laravel支持多种队列驱动器,如数据库、Redis、Beanstalkd、SQS等,每种驱动器都...

    laravel中Redis队列监听中断的分析

    这里指定了超时时间为 90 秒,如果任务处理超过这个时间,则会放弃并重新放入队列,同时设置了重试次数为 1。 2. **问题出现**:在 `Process.php` 文件的第 429 行,日志显示进程接收到信号 "1"。信号 "1" 对应的...

    Laravel开发-laravel-async-queue

    在Laravel框架中,异步队列是一种强大的特性,它允许开发者将耗时的操作如邮件发送、数据分析等从主线程中分离出来,提高应用程序的响应速度。本项目"Laravel开发-laravel-async-queue"专注于在Laravel环境中实现...

    Laravel开发-queue-stats

    `queue-stats`可能是用来收集和展示Laravel队列运行状态的工具或者项目。下面我们将深入探讨Laravel的队列系统及其配置,以及如何利用它来优化应用程序的性能。 ### 1. Laravel队列概念 Laravel队列允许开发者将...

    Laravel开发-laravel-pubsub-queue

    7. **队列worker**:运行`php artisan queue:work --driver=pubsub`命令启动Laravel的队列worker,它会监听Google Cloud Pub/Sub中的消息并执行相应的工作。 8. **监控**:Google Cloud Console提供了丰富的监控和...

    Laravel开发-laravel-worker-command

    Laravel的队列系统是用来异步处理长时间运行的任务,如发送电子邮件、执行复杂的计算或与第三方API交互。通过将这些任务放入队列,可以显著提高应用的响应速度。 ### 2. 队列驱动 Laravel支持多种队列驱动,包括...

    Laravel使用Queue队列的技巧汇总

    在 Laravel 中,要使用数据库驱动的队列,需要先运行 `php artisan queue:table` 命令创建任务表的迁移,然后执行 `php artisan migrate` 来创建表。对于处理失败的任务,Laravel 提供了 `failed_jobs` 表来记录失败...

    Laravel开发-laravel-async-beanstalkd

    2. **配置**: 在`config/queue.php` 文件中,添加或修改队列驱动配置,指定使用`beanstalkd`。 3. **发布配置**: 运行`...

    Laravel开发-laravel-internal-queue

    在Laravel框架中,内部队列(laravel-internal-queue)是一个强大的功能,它允许开发者将耗时的任务从Web请求中分离出来,提高应用程序的响应速度和用户体验。队列可以处理诸如发送电子邮件、更新数据库、执行计算...

    Laravel开发-laravel-appengine

    5. **运行时环境**:确保Laravel应用与App Engine的PHP版本兼容,通常需要在app.yaml文件中指定合适的PHP版本。 6. **调度器**:如果应用需要定时任务,可以利用App Engine的调度器与Laravel的Cron系统结合,实现...

    Laravel开发-laravel-queue-manager

    Laravel队列允许开发者将长时间运行的任务放入队列,避免阻塞HTTP请求。当任务被添加到队列后,它会在后台处理,不影响用户与应用的交互。队列可以使用多种驱动器,如数据库、Redis、Amazon SQS、Beanstalkd等。 ##...

    Laravel开发-laravel-queue-azure-restarter

    `queue:restart` 命令是 Laravel 提供的,用于重新启动队列工作者,而 `--queue azure` 参数则指定只重启 Azure 驱动的队列。 在实际应用中,我们还需要考虑如何处理失败的任务。Laravel 提供了重试机制,可以通过 ...

    Laravel开发-laravel-base

    13. **队列**:对于耗时的任务,Laravel提供队列服务,可以将任务放入队列并在后台处理,提升Web应用的响应速度。 14. **错误与日志**:Laravel有完善的错误处理机制和日志系统,可以方便地记录和调试应用中的问题...

    Laravel开发-azure-queue-laravel

    为了监听并处理Azure队列中的任务,可以运行Laravel的队列监听器: ```bash php artisan queue:work azure --tries=3 ``` 这将启动一个监听器,它将持续检查Azure队列并处理新任务,同时支持重试策略(`--tries`...

    Laravel开发-expbackoffworker

    2. **配置队列工作者**:在Laravel的配置文件`config/queue.php`中,可能需要更新队列工作者的配置,指定使用`expbackoffworker`提供的工作器。 3. **自定义错误处理**:项目可能提供了一个自定义的`ShouldBackoff`...

    Laravel开发-summer

    首先,确保系统已经安装了PHP和Composer,然后通过命令行运行`composer create-project --prefer-dist laravel/laravel your_project_name`,这将下载并安装Laravel到指定目录。 3. **路由**:Laravel的路由系统...

    Laravel开发-laravel-sqs-fifo-queue

    在本文中,我们将深入探讨如何在 Laravel 开发中利用 `laravel-sqs-fifo-queue` 实现对 Amazon Simple Queue Service (SQS) FIFO 队列的支持。首先,让我们理解一下 Laravel 框架、SQS 和 FIFO 队列的基本概念。 **...

    浅谈Laravel队列实现原理解决问题记录

    当两个Laravel项目在同一个服务器上运行,并且使用同一个Redis实例时,如果它们的队列配置都使用默认的`'queue' =&gt; 'default'`,就会导致队列冲突。这是因为在Redis中,两个项目的队列任务都会被推送到同一名为`'...

Global site tag (gtag.js) - Google Analytics