【发布时间】:2016-09-11 14:17:58
【问题描述】:
我正在考虑第一次使用worker 和web,因为我必须抓取一个网站。在我承诺在开发环境中工作之前,我只是想知道。当我在将应用推送到 Heroku 之前对其进行测试时,如何处理队列中的作业?
如果这里相关的话,我可能会使用 RabbitMQ。
【问题讨论】:
-
你打算使用什么堆栈?
-
这是一个带有 Express 的 Nodejs 应用
我正在考虑第一次使用worker 和web,因为我必须抓取一个网站。在我承诺在开发环境中工作之前,我只是想知道。当我在将应用推送到 Heroku 之前对其进行测试时,如何处理队列中的作业?
如果这里相关的话,我可能会使用 RabbitMQ。
【问题讨论】:
我想这取决于您所说的测试是什么意思。您可以对与任何队列隔离的执行抓取的代码进行单元测试,并且可以提供队列操作的模拟实现来处理大部分集成测试。
我想您可能想要一个真实的队列实例来进行某些测试,但根据您项目的性质,您可能会对第一段中描述的各种测试感到满意。
如果您只是必须测试队列操作和/或您想在本地运行完整的生产副本,那么您必须建立一个 Rabbitmq 实例。您可以在本地建立一个或使用其中一个 SAAS 提供商。
如果您有多个开发人员在处理该项目,您可能希望通过创建类似 vagrant 脚本的东西来简化他们的工作,该脚本在 vm 中设置完整的环境。或者更好的是像码头工人。这样做还为您提供了更多部署选项(使您减少对 heroku 工具的依赖)。
最后,Travis CI 等众多 CI 解决方案提供了用于运行测试的流行服务实例(包括 rabbit)。
【讨论】: