php - 如何在带有附件 laravel 的作业中排队电子邮件
问题描述
我创建了一个队列作业来向我的一批用户发送电子邮件,当我发送带有附件的电子邮件时它工作正常。但是当我将文件添加到队列时,我收到一个错误,提示无法序列化内容。
$emailJob = (new SendNewsletter($id, $request->flag, $attachments))->delay(Carbon::now()->addSeconds(3));
dispatch($emailJob);
解决方案
您不应将文件直接包含在作业中。而是做这样的事情:
- 将文件存储在磁盘上
- 使用磁盘上文件的文件路径创建作业
- 处理作业时:
- 从磁盘检索文件
- 发送您的时事通讯
- 从磁盘中删除文件
推荐阅读
- php - codeigniter 不根据 where 条件从数据库返回数据
- google-cloud-platform - 如何在 Google Cloud Platform 上更改组织名称?
- jquery - Sonarqube,使用 Jquery 库创建自定义网页
- python - 如何使用熊猫在python中生成平滑曲线
- python-3.x - Flask 中的线程不能与 UWSGI 一起使用,但可以在命令行上使用
- php - wordpress:如何指定原因“无法访问此站点”
- ios - Alamofire 上传带有进度的大文件并在应用重启时显示进度
- javascript - 如何使用javascript在其他类型为“date”的文本框中设置类型为“date”的文本框的日期
- bash - 通过变量传递命令行参数
- c# - 如何在一个 ZIP 文件中归档多个文件?