0
私はキューを登録しており、ジョブをディスパッチした後にビューを返したいと思います。私が達成しようとしています何のロジックは次のとおりです。laravelジョブが完了したら表示を戻しますか?
- ボタンをクリックします(この方法は、コントローラすることができます)
- 派遣ジョブ
- リターンロード画面
- ジョブが完了すると、ビューを返しますデータ付き。
これはこれまで私が持っていたものであり、リターンビューは動作しません。
これは私のコードです:
public function demoIndex(Request $request){ //Controller
$text = $request->input('doc');
dispatch(new Do($text));
return view('demo/loading'); //loading screen
}
public function handle()
{
//queue job
...
return view('demo/admin', ['search' => $search]); //returning view (not working)
}
は、あなたがそれを行うには何を期待していますか?キューハンドラは実際にはビューを返すことはできません。 – ceejayoz
ジョブからビューを返すことはできません。ジョブをディスパッチして、ジョブが終了したらジョブをスローしてフロントエンドでそのイベントを待ち受けることができます(これはブロードキャストの設定が必要です)。または、ジョブに「完了」タグを設定し、ajaxを使用してロード中の画面からステータスを定期的にチェックすることもできます。 – jfadich