diff --git a/package.json b/package.json index a13b7152c1b86443da81034650ce84f3a8a0aeb7..f52de48367fd022891fac9671eb354f9a268024d 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "test": "cd build && mocha" }, "dependencies": { + "agenda": "^0.9.1", "apicache": "0.7.0", "bcrypt-nodejs": "0.0.3", "body-parser": "^1.13.1", @@ -34,7 +35,6 @@ "mocha": "^3.1.2", "monetdb-pool": "0.0.8", "mongoose": "^4.6.0", - "monq": "^0.3.7", "nconf": "^0.8.x", "passport": "^0.3.2", "squel": "^5.4.2", diff --git a/src/libs/routes/region.js b/src/libs/routes/region.js index 794b5b9004393f43ab5ebb770807be11ef3a6a43..e11f196a9a84e38ca3c19713c89a70c02c42c19a 100644 --- a/src/libs/routes/region.js +++ b/src/libs/routes/region.js @@ -53,45 +53,29 @@ regionApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => { next(); }, query, response('region')); -const monq = require('monq'); const config = require(`${libs}/config`); -const client = monq(config.monq.uri); -const queue = client.queue('db_download'); -const execQuery = require(`${libs}/db/query_exec`); - -const worker = client.worker(['db_download']); - -worker.register({ - download: function(query, callback) { - console.log('POPEPO'); - console.log(query); - execQuery(query.text, query.values).then((result) => { - if(result.length == 0) { - callback({err: 'No results found'}); - return; - } - callback(null, result); - }, (error) => { - callback(error); - }); - } +const Agenda = require('agenda'); +let agenda = new Agenda({ + db: { + address: config.monq.uri, + collection: 'agendaJobs'} }); -worker.start(); +agenda.define('download region', (job, done) => { + log.debug('POPEPO'); + console.log('POPEPO'); + console.log(job.attrs.data.sql); + done(); +}); -worker.on('complete', function (data) { console.log('DATA'); console.log(data); }); +agenda.on('ready', function() { + agenda.start(); +}); regionApp.get('/download', (req, res) => { req.sql.from('regiao').field('*'); let params = req.sql.toParam(); - queue.enqueue('download', params, (err, result) => { - log.debug('PEPO'); - if(err) { - log.debug('ERRO'); - log.debug(err); - } - log.debug(result); - }); + agenda.now('download region', {sql: params}); res.json({msg: 'Wait for it...'}); });