【问题标题】:Send to a Laravel Queue an instance of SesClient from AWS sdk for php从 AWS sdk for php 向 Laravel 队列发送 SesClient 实例
【发布时间】:2018-03-08 03:15:45
【问题描述】:

我正在使用 Amazon sdk for php 通过简单电子邮件服务发送电子邮件,所有这些都使用 Lumen 框架。

我使用 sdk 的客户端类而不是 Laravel 的 mailables 类,因为我需要向我的电子邮件添加一些元数据,当我尝试将电子邮件推送到队列时出现问题,因为来自 AWS sdk 的 SesClient禁止序列化,Laravel/Lumen 使用该函数创建队列

我试图包装这个类,但它不起作用我也找到了一些使用 SesClient 的包,但它们都不允许我添加元数据

我对所有类型的解决方案持开放态度,如果您需要更多信息,请告诉我,我会回答问题

提前致谢

【问题讨论】:

    标签: php laravel amazon-ses mass-emails


    【解决方案1】:

    TL;DR

    没有办法做到这一点

    说明

    长答案是你需要改变解决问题的方法

    由于 AWS 客户端类在魔术方法 __sleep 上引发异常,因此您不能直接将该类发送到 Laravel 队列,因为发送它的部分过程是序列化该类。

    您扩展了该类并覆盖了该方法,但由于 AWS 客户端类内部的回调,这将在未来给您带来问题。

    要解决这个问题,您需要从 Laravel Job 类中提取该类,这可以通过创建一个类来包装您的流程并在该类内部创建一个 AWS 客户端实例

    【讨论】:

      猜你喜欢
      • 2019-01-19
      • 2016-12-23
      • 2017-12-06
      • 1970-01-01
      • 1970-01-01
      • 2018-01-19
      • 1970-01-01
      • 2018-07-31
      • 1970-01-01
      相关资源
      最近更新 更多