Запуск Cron Job для генерации данных из самой MongoDB

Вот информация о моей среде разработки:

-МонгоДБ 3.0.0

-MongoDB С# Драйвер версии 1.7.0.4714

-Майкрософт Visual Studio Professional 2013

-.NET Framework 4.0

В базе данных MongoDB есть коллекция пользователей, и DiaryEntries будет коллекцией.

Допустим, нам нужно создать несколько записей ежедневного дневника для наших пользователей, если пользователи не вошли в систему, чтобы создать их самостоятельно.

Мы могли бы создать планировщик задач Windows для запуска программы C# задания cron, чтобы создать запись в дневнике для каждого из пользователей нашего приложения, у которых ее нет на текущий день.

Однако со временем в приложении будет огромное количество Пользователей, и кажется, что программа C# cron, работающая каждый день, сначала проверяет, есть ли у каждого из Пользователей запись в ежедневном дневнике, а затем только создает ежедневную запись. Дневниковая запись, если у Пользователя ее нет на этот день.

Мне было интересно, есть ли способ запустить Cron Job для генерации данных из самой MongoDB для выполнения вышеупомянутой задачи. Если да, то будет ли производительность выше, чем при выполнении задачи на С#? Если это лучше, чем делать это из C #, то, пожалуйста, скажите мне, как это можно реализовать из самой MongoDB?


person CS Lewis    schedule 20.01.2016    source источник


Ответы (1)


Нет, в MongoDB нет планировщика задач.

По моему опыту, задания cron работают очень хорошо. Если вы делаете много записей, то использование массового API дает большое улучшение.

Вы можете выполнять свою работу на JavaScript, а затем запускать ее с помощью оболочки Mongo, но я не заметил прироста производительности при таком подходе. Единственное реальное преимущество заключается в том, что написать сценарий оболочки иногда проще, чем на других языках.

person Martin    schedule 20.01.2016
comment
Извините, не могли бы вы предоставить мне больше информации о пакетном API, о котором вы упомянули? - person CS Lewis; 20.01.2016
comment
Извините, я имел в виду массовое API. - person Martin; 20.01.2016
comment
Вы имеете в виду Bulk API MongoDb? - person CS Lewis; 20.01.2016