2 回答

TA貢獻1834條經(jīng)驗 獲得超8個贊
$download = Export::download(...);
KodePos::query()->truncate();
return $download;

TA貢獻1828條經(jīng)驗 獲得超3個贊
我可以在這里建議兩種解決方案;
可終止中間件
有時,中間件可能需要在 HTTP 響應(yīng)發(fā)送到瀏覽器后執(zhí)行一些工作。如果您在中間件上定義了終止方法并且您的 Web 服務(wù)器使用 FastCGI,則在響應(yīng)發(fā)送到瀏覽器后將自動調(diào)用終止方法。
創(chuàng)建異步作業(yè)并在下載過程之前延遲觸發(fā)它(您的隊列驅(qū)動程序不應(yīng)該是
sync
,redis
是一個很好的候選者)
class KudeposTruncater extends Job implements ShouldQueue
{
? ? use InteractsWithQueue;
? ??
? ? public function handle()
? ? {
? ? ? ? KodePos::query()->truncate();
? ? }
}
\Queue::later(15, new KudeposTruncater());
return Excel::download(new KodePosExport, 'KodePos.xlsx');
- 2 回答
- 0 關(guān)注
- 298 瀏覽
添加回答
舉報