Laravel队列,发送后重定向

时间:2017-09-17 18:46:57

标签: php laravel laravel-5 laravel-jobs

我的包中有工作班。功能简单但耗时。我想发送它在后台运行。

php artisan queue:work

作品。

<?php
namespace Mypackage\Jobs;

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

class  StartLottery implements ShouldQueue{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    public $count;
    public $competition;

    public function __construct($count, $competition)
    {
      $this->count = $count;
      $this->competition = $competition;
    }

    public function handle()
    {
//code body
    }
}

并在控制器中

dispatch((new StartLottery($count, $id))->onQueue('high'));

我的队列默认连接是数据库。

我的目标是立即在后台运行此作业并解锁浏览器以执行其他指示,例如重定向。

不幸的是,接下来的事情正在完成工作之后。最后,用户在请求后等待服务器响应很长时间。

提前感谢任何提示我如何将此工作转移到后台。

环境:

  • Laravel 5.4
  • php 5.6
  • debian 8

0 个答案:

没有答案