我目前正在构建一个向用户发送交易电子邮件的 API。我用工作队列来做这件事,尤其是公牛。在开发过程中,我想到了一些事情;这些工作实际在哪里执行?目前,我通过公牛将这些作业发送到在我计算机上的 docker 容器中运行的 redis 数据库。我的第一个想法是这些作业在 redis 容器中运行,但我认为这不是真的,因为那个 redis 容器没有运行 NodeJS,而 NodeJS 正是我用于 API 的。
我想这些作业实际上是在创建它们的同一台机器上执行的。但是,如果是这样的话,那么拥有一个工作队列有什么好处呢?我认为拥有一个作业队列的目的是将任务委托给其他东西,这样 API 就不会因发送所有这些电子邮件而减慢。据我了解,现在发生的一切只是通过向redis发送和接收作业来延迟任务。
我对工作队列很陌生。我希望我已经足够清楚地描述了我的情况。
谢谢你。