迈出脚步
体验世界

larave队列任务

Laravel队列任务

先新建一个job

php artisan make:job Test
<?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 Test implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
    protected $data;
    public $tries = 10;
    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct($data)
    {
        $this->data=$data;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        $id = $this->data->data;
        var_dump($id);
    }


    public function failed($exception) //任务失败之后执行的内容
    {
        $exception->getMessage();
        var_dump($exception);
    }

}

Controller文件中这样写

use App\Jobs\Test;
$job = new Test($data);
$job = dispatch(new Test($data))->onQueue('test');

然后在服务器网站目录中运行一下命令:

command=php artisan queue:listen --queue=test --timeout=300

当然实际生产环境中,可以用Supervisor守护进程来守护上面的操作

赞(0) 喜欢我
未经允许不得转载:王威 » larave队列任务
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏