2017-09-26 88 views
1

我使用Amazon sdk for php通過簡單電子郵件服務發送電子郵件,所有這些都使用Lumen Framework。從AWS sdk發送到Laravel Queue一個SesClient的實例用於php

我使用sdk的客戶端類而不是Laravel的mailables類,因爲我需要向我的電子郵件添加一些元數據,當我嘗試將電子郵件推送到隊列時,問題出現了,因爲AWS中的SesClient sdk禁止序列化和Laravel/Lumen使用此功能創建隊列

我試圖包裝類,但它沒有工作,我還發現一些包使用SesClient,但沒有人允許我添加元數據

我對所有類型的解決方案都很開放,如果您需要更多信息,請告訴我,我將回答問題

在此先感謝

回答

0

TL; DR

沒有辦法做到實現這一

說明

長的答案是你需要的方式改變的問題

由於AWS Client類在魔術方法__sleep上引發異常,因此不能將該類直接發送到Laravel隊列,因爲發送它的進程的一部分是對該類進行序列化。

您可以擴展該類並覆蓋該方法,但由於AWS Client類中存在回調,這會給您帶來未來的問題。

爲了解決這個問題,你需要提取類出Laravel招聘類的,這是可以做到創建一個類來包裝你的過程和這個類裏面創建AWS客戶端的一個實例

相關問題