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