如何在命令中控制繁重的进程
How to control a heavy process in a command
我需要发送成百上千封带附件或不带附件的电子邮件。为此,我想使用一个 ContainerAwareCommand,我可以从 cron 启动它并使用相同的控制台对其进行监视,或者我在每次迭代中将某些值保存在 bd 中。
有什么方法可以停止或暂停命令吗?我可以有更多的控制权或互动吗?
有没有更好的方法来做或监控它?
如果你想监控/加速它也许你可以考虑使用队列/消息系统。
这意味着首先您会将所有电子邮件输入队列,然后 consumers/handlers 处理它们。通过这种方式,您可以按队列大小监控进度并在必要时停止/恢复。这也将允许通过启动更多处理程序来加快进程,即使在不同的服务器上也是如此。
在 symfony 4.1 中会有新的组件信使,或者您可以使用例如 enqueue 库。
我需要发送成百上千封带附件或不带附件的电子邮件。为此,我想使用一个 ContainerAwareCommand,我可以从 cron 启动它并使用相同的控制台对其进行监视,或者我在每次迭代中将某些值保存在 bd 中。
有什么方法可以停止或暂停命令吗?我可以有更多的控制权或互动吗?
有没有更好的方法来做或监控它?
如果你想监控/加速它也许你可以考虑使用队列/消息系统。
这意味着首先您会将所有电子邮件输入队列,然后 consumers/handlers 处理它们。通过这种方式,您可以按队列大小监控进度并在必要时停止/恢复。这也将允许通过启动更多处理程序来加快进程,即使在不同的服务器上也是如此。
在 symfony 4.1 中会有新的组件信使,或者您可以使用例如 enqueue 库。