Newer
Older
const libs = `${process.cwd()}/libs`;
const log = require(`${libs}/log`)(module);
const jsonexport = require('jsonexport');
const request = require('request');
const execQuery = require(`${libs}/db/query_exec`)
module.exports = function(agenda) {
agenda.define('download database', (job, done) => {
let sql = job.attrs.data.sql;
let table = job.attrs.data.table;
// Roda o COPY INTO
// Cria o registro no mongo
// Manda email notificando o usuário
let path = '/tmp/' + table + Date.now() + '.csv';
log.debug(sql);
let query = `COPY ${sql} INTO '${path}' USING DELIMITERS ';'`;
execQuery(query, []).then((result) => {
// If we're here then everything is ok. Result is empty
let file = {
name: table,
path
}
request.post(config.cdn.url + '/api/v1/file', {form: file}, (err, response, body) => {
if(err) {
log.error(err);
return done();
}
console.log(body);
let mailOptions = {
to: 'Teste <vsbc14@inf.ufpr.br>',
subject: 'DOWNLOAD!!!!!',
};
mail(mailOptions, (err, info) => {
if (err) {
log.error(err);
return done();
}
console.log('Message %s sent: %s', info.messageId, info.response);
done();
});
log.error('Error creating dump from DB');