Отправьте в очередь Laravel экземпляр SesClient из AWS SDK для переполнения стека

Я использую Amazon SDK для PHP для отправки писем через Simple Email Service, все это с помощью Lumen Framework.

Я использую клиентский класс SDK вместо классов почтовых ящиков Laravel, потому что мне нужно добавить некоторые метаданные в мои электронные письма, проблема возникает, когда я пытаюсь отправить электронные письма в очередь, потому что SesClient из AWS SDK запрещает сериализацию и Laravel / Lumen использует эту функцию для создания очереди

Я попытался обернуть класс, но это не сработало, и я нашел какой-то пакет для использования SesClient, но ни один из них не позволяет мне добавлять метаданные

Я открыт для всех видов решений, если вам нужна дополнительная информация, просто дайте мне знать, и я отвечу на вопросы

заранее спасибо

1

Решение

Нет способа сделать это

Длинный ответ: вам нужно изменить подход к проблеме

Так как класс клиента AWS вызывает исключение для магического метода __sleep, вы не можете напрямую отправить класс в очередь Laravel, потому что часть процесса его отправки — это сериализация класса.

Вы расширяете класс и перезаписываете метод, но это принесет вам проблемы в будущем из-за обратных вызовов внутри класса клиента AWS.

Чтобы решить эту проблему, вам нужно извлечь класс из класса Laravel Job, это можно сделать, создав класс, чтобы обернуть ваш процесс, и внутри этого класса создайте экземпляр клиента AWS.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]