Added option to spawn multiple sender processes

This commit is contained in:
Andris Reinman 2016-12-11 00:38:54 +02:00
parent 88fe24a709
commit 8ca1fbb535
12 changed files with 262 additions and 135 deletions

View file

@ -11,7 +11,6 @@ let isUrl = require('is-url');
let feed = require('../feed');
let log = require('npmlog');
let mailer = require('../mailer');
let caches = require('../caches');
let humanize = require('humanize');
let allowedKeys = ['description', 'from', 'address', 'reply_to', 'subject', 'template', 'source_url', 'list', 'segment', 'html', 'text', 'tracking_disabled'];
@ -894,8 +893,9 @@ module.exports.delete = (id, callback) => {
return callback(err);
}
caches.cache.delete('sender queue');
return callback(null, affected);
db.clearCache('sender', () => {
callback(null, affected);
});
});
});
});
@ -959,8 +959,9 @@ module.exports.pause = (id, callback) => {
if (err) {
return callback(err);
}
caches.cache.delete('sender queue');
return callback(null, true);
db.clearCache('sender', () => {
callback(null, true);
});
});
});
});
@ -987,23 +988,24 @@ module.exports.reset = (id, callback) => {
return callback(err);
}
caches.cache.delete('sender queue');
connection.query('UPDATE links SET `clicks`=0 WHERE campaign=?', [id], err => {
if (err) {
connection.release();
return callback(err);
}
connection.query('TRUNCATE TABLE `campaign__' + id + '`', [id], err => {
db.clearCache('sender', () => {
connection.query('UPDATE links SET `clicks`=0 WHERE campaign=?', [id], err => {
if (err) {
connection.release();
return callback(err);
}
connection.query('TRUNCATE TABLE `campaign_tracker__' + id + '`', [id], err => {
connection.release();
connection.query('TRUNCATE TABLE `campaign__' + id + '`', [id], err => {
if (err) {
connection.release();
return callback(err);
}
return callback(null, true);
connection.query('TRUNCATE TABLE `campaign_tracker__' + id + '`', [id], err => {
connection.release();
if (err) {
return callback(err);
}
return callback(null, true);
});
});
});
});