数千个任务的最佳循环队列?

Best Round Robin Queue for Thousands of Tasks?

我目前有一个 servers/websites 我需要监控的列表,每分钟一次。

是否有一种每分钟循环通过它们的好方法,并且能够在任何时候 add/remove servers/websites?

我研究过 RabbitMQ,但每分钟持续添加和使用任务似乎不可行。任务存储在MongoDB中,也许我想到的另一种解决方案是通过MongoDB查询,但效率似乎不是很高。

我认为不需要消息代理。我要做的实际上是在程序开始时从数据库中获取任务并将它们存储在内存中。创建任务 class 并针对数据库中的每个任务,将其复制到任务 class 并将所有这些任务对象存储在任务数组中。

将 servers/websites 的列表存储在数据库中。

让您的程序每分钟从该数据库中查询 servers/websites 的列表,以获得最新的 servers/websites 列表。您可以随时进入您的数据库并删除或添加 servers/websites.

假设你想为每个 server/website 完成所有任务,你基本上为每个执行任务数组中的所有任务。它本质上是另一个 for 循环中的一个 for 循环。

如果这个假设是不正确的,你明白我的意思了。

希望对您有所帮助。