Как контролировать тяжелый процесс в команде - PullRequest
0 голосов
/ 30 мая 2018

Мне нужно отправить сотни или тысячи писем с вложениями или без них.Для этого я подумал об использовании ContainerAwareCommand, который я могу запустить из cron, и контролировать его с помощью одной и той же консоли или чтобы я сохранял определенные значения в bd на каждой итерации.

Есть ли способ остановить или приостановитькоманда?Могу ли я иметь больше контроля или взаимодействия?

Есть ли лучший способ сделать это или контролировать его?

1 Ответ

0 голосов
/ 30 мая 2018

Если вы хотите контролировать / ускорить его, возможно, вы можете подумать об использовании системы очередей / обмена сообщениями.

Это означает, что сначала вы введете все электронные письма в очередь, а затем их обработают некоторые потребители / обработчики.Таким образом, вы можете отслеживать прогресс по размеру очереди и останавливать их / возобновлять при необходимости.Это также позволит ускорить процесс, запуская больше обработчиков, даже на разных серверах.

В symfony 4.1 появится новый компонент messenger, или вы можете использовать, например, библиотеку enqueue длячто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...