yii2-queue: Email sending problem in queue/listen mode
Hi, thanks for the great extension.
I faced with the problem of sending email when jobs running by ./yii queue/listen
.
Seems like Swift_SendmailTransport lost connection after a while.
As a temporary solving I am closing connection manually before sending emails, but I think it’s wrong way.
Please tell me if you met a similar problem how you solve it?
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 16 (6 by maintainers)
Видел решение с job’ами оформленными в виде консольных экшенов. Смысл был в том, что queue/listen никаких работ не выполнял сам, он только мониторил очередь и при обнаружении нового задания стартовал новый консольный процесс
Суть проблемной ситуации в том, что команда
listen
работает в режиме демона. То есть, нужно учитывать, что все компоненты, которые используют сокеты или любые другие сетевые соединения, могут отваливаться.На правах костыля можно попробовать:
Этот код с помощью сервис-локатора уничтожит mailer-объект, но оставит его конфиг. А, при первом обращении к
Yii::$app->mailer
, объект будет создан заново.А где у Вас переменная SwiftMailer’a для подключения к SMTP-серверу находится?
Правильно будет при каждом запуске задачи открывать соединение и в конце работы его закрывать.