[英]Laravel Queued job execution with delay
我正在使用 Laravel 排隊作業來簡單地以 JSON 格式創建我的表的副本,然后刪除創建的文件。 這是我的處理方法:
public function handle()
{
unlink($this->file);
}
只要我在響應后立即發送文件,代碼就可以正常工作:
DeleteCreatedFiles::dispatchAfterResponse(/* File path */);
但是我想在刪除之前將文件保留一段時間,所以我使用了這段代碼:
DeleteCreatedFiles::dispatch(/* file path */)
->delay(now()->addSeconds(30));
問題是,無論我等待多久,這項工作都不會執行。 我嘗試使用望遠鏡,它一直顯示待處理狀態。 請幫我弄清楚為什么會這樣。 謝謝!
.env
文件中的隊列驅動程序設置為不sync
因為如果您的工作被延遲,則必須排隊。 所以不應該使用同步選項
基於隊列驅動程序(如數據庫,redis,...),您可以創建一個隊列。
php artisan queue:work
對於監督隊列
對於多線程,您可以使用laravel-horizon package
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.