/
index.js
50 lines (39 loc) · 1.17 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
var Agenda = require('agenda');
var moment = require('moment');
var mongoConnectionString = "mongodb://localhost/poc-agenda";
var agenda = new Agenda({ db: { address: mongoConnectionString } });
var starterTime = moment().add(15, 'seconds').format();
agenda.define('rodar integrações', function(job){
console.log("***************************************************************************");
var myArray = [];
var fulltime = getResultsToRun().filter(function(obj){
return obj.proximaExecucao == null;
});
var parameterized = getResultsToRun().filter(function(obj){
return obj.proximaExecucao != null && moment().isAfter(moment(obj.proximaExecucao));
});
if(fulltime.length > 0){
myArray.push(fulltime);
}
if(parameterized.length > 0){
myArray.push(parameterized);
}
console.log(myArray);
});
agenda.on('ready', function(){
agenda.every('5 seconds', 'rodar integrações');
agenda.purge(function(err, numRemoved) {
console.log(numRemoved);
});
agenda.start();
})
function getResultsToRun(){
var obj = [{
nome: "Integração full-time",
proximaExecucao: null
},{
nome: "Integração parametrizada",
proximaExecucao: starterTime
}];
return obj;
};