如何控制命令中的繁重进程

时间:2018-05-30 01:39:19

标签: symfony command swiftmailer

我需要发送数百或数千封带或不带附件的电子邮件。为此,我想使用一个ContainerAwareCommand,我可以从cron启动并使用相同的控制台监视它,或者我在每次迭代中保留bd中的某些值。

有没有办法停止或暂停命令?我可以有更多的控制权或互动吗?

有没有更好的方法来监控或监控它?

1 个答案:

答案 0 :(得分:1)

如果你想监控/加速它,你可以考虑使用队列/消息系统。

这意味着首先您将所有电子邮件输入到队列中,然后让一些消费者/处理者处理它们。这样,您可以按队列大小监视进度,并在必要时停止/恢复。这样也可以通过启动更多处理程序来加速该过程,即使在不同的服务器上也是如此。

在symfony 4.1中会有新的组件信使,或者您可以使用例如enqueue库。