Лучшая круглая очередь Робин для тысячи задач?

В настоящее время у меня есть список серверов / сайтов, которые мне нужно отслеживать, раз в минуту.

Есть ли хороший способ циклически проходить через них каждую минуту, с возможностью добавлять / удалять серверы / сайты в любой момент?

Я изучил RabbitMQ, но не представляется возможным последовательно добавлять и потреблять задачу каждую минуту. Задачи хранятся в MongoDB, возможно, другое решение, о котором я подумал, — это запрос через MongoDB, но это не очень эффективно.

0

Решение

Я не думаю, что брокер сообщений был бы необходим. Что бы я сделал, это на самом деле получить задачи из базы данных и сохранить их в памяти в начале программы. Создайте класс задач и для каждой задачи в базе данных скопируйте его в классе задач и сохраните все эти объекты задачи в массиве задач.

Храните этот список серверов / веб-сайтов в базе данных.

Попросите вашу программу запрашивать список серверов / веб-сайтов из этой базы данных каждую минуту, чтобы получить последний список серверов / веб-сайтов. Вы всегда можете зайти в свою базу данных и удалить или добавить серверы / сайты.

Предполагая, что вы хотите выполнить все задачи для каждого сервера / веб-сайта, вы в основном выполняете все задачи в массиве задач для каждого. По сути это цикл for внутри другого цикла for.

Если это предположение неверно, вы понимаете, что я имею в виду.

Надеюсь это поможет.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]