laravel隊列使用


1、修改.env中queue_driver = databases

2、php artisan queue:table 

  在database 目錄下migrations里面有對應的表

3、執行遷移文件 php artisan migrate 

4、創建文件 php artisan make:job SendEmail

指定參數$email

class TestQu implements ShouldQueue
{
use InteractsWithQueue, Queueable, SerializesModels;
protected $email;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($data)
{
$this->email = $data;
//
}

/**
* Execute the job.
*
* @return void
*/
public function handle()
{
file_put_contents("aaa.txt","ssss");
//
}
}

6、把任務放到隊列中

在控制器中使用dispatch(new SendEmail('5555@qq.com'))

 指定存儲隊列名稱

$job    =   new SendEmail($result['data']);
$job->onQueue("email");

7、運行監聽器 php artisan queue:listen

 

8、支持失敗記錄php artisan queue:failed-table

9、執行遷移php artisan migrate 

10、查看失敗記錄php artisan queue:failed

11、從新執行失敗的記錄 php artisan queue:retry id編號

 php artisan queue:retry all執行全部

12、刪除失敗記錄php artisan queue:forget id編號

刪除全部用php arisan queue:flush

13、隊列指定運行使用

php artisan queue:work redis --queue=email

 

ps:laravel swagger   https://github.com/DarkaOnLine/L5-Swagger


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM