автоматические консультации в mongodb однажды в месяц

я должен реализовывать операцию из-за каждого документа коллекции в специфический день месяца и сохранять результаты в других документ различных коллекций, мой вопрос был бы каковым это лучший способ это реализовывать, он был бы с рукописным шрифтом в bash, cron в nodejs.

Что является тем, что я реализую:
Я приношу все файлы и сохраняю в двух различных коллекциях пока он реализует цикл.
Проблемы:

  • Не, сколько документов были (возможно многие) тогда, если один: он побьет козырем, как он мог бы получать обратно цикл?

  • Загрузив файлы в памяти в данном случае будьте слишком много: было бы лучше реализовывать это с одним ´´´worker´´?

я использовал cron и в функционировавший, но не могу понять, в этом времени повторится ли задание постоянно, так как он, как кажется, это делает, я оставляю пример моего кода

 pepinosModelo.find()
  .exec()
  .then(pepinos => {

    pepinos.forEach(pepino => {

      let frecuencia = pepino.frecuente();
      let nuevoTrans = [{
        chocolate:true,
        abena:"de dos a tres porcines",
        lsd: "No aplica"
      }];


      nuevoTrans.push({
        chocolate:false,
        coco:"Completo",
        lsd: "Aplica"
      });

      return TransModel.create(nuevoTrans)
      .then((trans) => {

        fumadorModelo
        .update({
          pepino: pepino._id
        }, { 
          'comprador': false,
          'nuevaDocis': zero 
        })
        .exec()
        .then((usuario) => { 
          pepino.cambio += frecuencia;
          pepino.balance = zero;
          pepino.puntos = zero;
          return pepino
          .save()
          .then(() => {
            console.log(´fin actualizacion usuario ciclo ${usuario}´);
          });
        });
      });
    });
  });
3
задан 31.01.2017, 22:34
0 ответов

может быть, подайте тебя ésto:

https://www.npmjs.com/package/mongoose-cron

Привет

1
ответ дан 03.12.2019, 17:58
  • 1
    Я думаю, что то, в чем он нуждается, но не одна " respuesta" как таковой, если не комментарий. Podrí эксперт añ adir пример используя пакет, чтобы дополнять ее má в. Приветствие. –  27.12.2016, 22:12
  • 2
    Если, я это чувствую, я ответил плохо, но также он не попросил примеры только cuá l - возможно лучшая форма. Следовательно мой правильный ответ serí в " cron в node" и пакет, который я рекомендую, - тот, который комментирует, делает момент. –  27.12.2016, 22:30
  • 3
    Спасибо за ответ я протестирую librerí в спасибо –  03.01.2017, 22:28

Я занял этот пакет: node-cron. Ты мог бы использовать loop, чтобы работать n количество файлов. Если один fallá манипулирует exepciones и в конце концов производит доклад файлов или updates банкроты.

Пока у твоего сервера были хорошие характеристики ты можешь выносить n количество файлов.

Использование простое, я помещаю любой пример:

var cron = require('node-cron');

var manejoDeArchivos = require('./server/services/v1/manejoDeArchivos');
cron.schedule('0 0 1 * *', function () {
    manejoDeArchivos.execute();
});

После в файле manejoDeArchivos.js ты можешь читать файлы с пакетом, если они csv, я рекомендую тебя fast-csv и работать с mongoose.

var mongoose = require('mongoose'),
    User = mongoose.model('User');

exports.execute = function () {

    var data = {
        "puntos.temporales" : 600
    };
    User.update({isActive: true}, {$set: data}, {multi: true}, function (err, docs) {
        if(err)
            console.error('Errot at executing cron job. Error: ' + err, {colors: true});
        if(docs) {
            console.log(docs);
            console.dir('Cron job executed correctly', {colors: true});
        }
    })
};
0
ответ дан 03.12.2019, 17:58

Теги

Похожие вопросы