2018.09.24
Laravelで複数実行したいとき
マルチプロセスで複数に実行してほしい場合は、JOBクラスを利用します。
利用例として、重たい処理や処理終了を待たなくても、次の処理をすぐに実行したいときに利用します。
コマンドでJobクラスを非同期に実行する。
namespace App\Console\Commands;
use App\Jobs\TestJob;
class Test extends Command
{
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$job = new TestJob();
$this->dispatch();
}
}
Jobクラスでは以下のような内容となる。
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 TestJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public function handle()
{
//処理内容を記載する。
}
}