Laravel中的队列是通过job实现的,所以使用队列先建立自己的job。 下面结合手机短信发送功能用队列实现来简单聊下使用队列的步骤:

1、执行命令php artisan make:job SendSMS 这样子就在app/jobs目录下生成一个SendSMS.php文件,内容如下:

<?php

namespace App\Jobs;

use App\Jobs\Job;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;

class SendSMS extends Job implements ShouldQueue
{
    use InteractsWithQueue, SerializesModels;

    private $phones;
    private $datas;
    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct($phones, $datas)
    {
        $this->phones = $phones;
        $this->datas = $datas;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        /* 执行队列的方法 */
    }
}

2、在需要用到的地方调用执行插入队列代码,这样子需要执行的任务就插入到队列当中了

dispatch(new SendSMS($phones, $datas);

3、最后在服务器上定时执行下队列就行了

results matching ""

    No results matching ""