laravel队列应用

原文链接:https://blog.csdn.net/qq_39337886/article/details/82024081

//修改.env配置文件
QUEUE_DRIVER=database


迁移队列需要数据表

php artisan queue:table
è¿éåå¾çæè¿°


php artisan migrate

 è¿éåå¾çæè¿°
 è¿éåå¾çæè¿°

命令行创建任务类

php artisan make:job SendEmail

 è¿éåå¾çæè¿°
 

è¿éåå¾çæè¿°

编写任务类

//app/jobs
<?php

namespace App\Jobs;

use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;

class SendEmail implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
    protected $email;
    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct($email)
    {
        //
        $this->email = $email;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        //
        //Mail::raw('你好,我是PHP程序!', function ($message) {
        //    $to = $this->email;
        //    $message ->to($to)->subject('纯文本信息邮件测试(队列测试)');
        //});
                Log::info('已发送--'.$this->email);
    }
}

编写控制层方法

    public function queue(){
        //use App\Jobs\SendEmail; 命名空间引入
        dispatch(new SendEmail('1356316925@qq.com'));
    }

执行然后查看数据库 

è¿éåå¾çæè¿°

运行队列监听器

php artisan queue:listen

监听然后推送队列 
 è¿éåå¾çæè¿°
执行的是在日志中写信息 
 è¿éåå¾çæè¿°
写成功 
处理失败任务

//迁移失败表
php artisan queue:failed-table
php artisan migrate

 è¿éåå¾çæè¿°

è¿éåå¾çæè¿°

è¿éåå¾çæè¿°

队列执行错误 
–tries 如果没有指定 –tries 的值,任务将会被无限次尝试。

php artisan queue:listen --tries=1
è¿éåå¾çæè¿°
 
查看错误的队列

php artisan queue:failed
è¿éåå¾çæè¿°
 
重新执行队列

php artisan queue:retry 1
è¿éåå¾çæè¿°
然后去监听队列看 
 è¿éåå¾çæè¿°
重新执行后队列执行失败 (注意Id变化 之前为1现在1没了新添加了新的错误队列) 
 è¿éåå¾çæè¿°
重新执行所有的

php artisan queue:retry all

 è¿éåå¾çæè¿°
执行失败(故意让执行失败的) 
 è¿éåå¾çæè¿°
删除错误队列

php artisan queue:forget 5

 è¿éåå¾çæè¿°
删除所有

php artisan queue:flush
è¿éåå¾çæè¿°

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值