ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
``` //主要步骤 //1.迁移队列需要的数据表 //2.编写任务类 //3.推送任务到队列 //4.推送队列监听器 //5.处理失败的任务 //配置 config/queue.php //支持 "sync", "database", "beanstalkd", "sqs", "redis", "null"等驱动 //这里使用database驱动 //打开.env文件,找到 QUEUE_DRIVER=sync 改为 QUEUE_DRIVER=database //1.迁移队列需要的数据表 //创建队列表 //php artisan queue:table //迁移文件 //php artisan migrate //2.创建任务类 //php artisan make:job SendEmail //会在app/Jobs/创建 //3.推送任务到队列 dispatch(new SendEmail('xinbu@126.com11')); //4.监听队列并执行 //php artisan queue:listen //5.处理失败的任务 // 1.创建失败队列的表 // php artisan queue:failed-table //2.迁移文件 // php artisan migrate //查询失败的队列任务 //php artisan queue:failed //把失败的队列任务重新放回队列中 //1为ID,all把所有失败的队列任务施加队列 //php artisan queue:retry 1 //php artisan queue:retry all //删除失败的队列任务 //php artisan queue:forget 4 //php artisan queue:flush ``` ***** SendEmail.php部分代码 ***** ``` protected $email; /** * Create a new job instance. * * @return void */ public function __construct($email) { // $this->email=$email; } /** * Execute the job. * * @return void */ public function handle() { // Mail::raw('队列测试',function($message){ $message->from('xxxxxxx@163.com','fggrtrtere'); $message->subject('邮件主题 测试'); $message->to($this->email); }); } ```