Bugfixes in sending campaigns

This commit is contained in:
Tomas Bures 2018-09-27 21:32:35 +02:00
parent 2d667523a1
commit 1448d9e914
34 changed files with 95 additions and 55 deletions

View file

@ -148,7 +148,7 @@ class CampaignSender {
return;
}
const list = this.listsById.get(list.id);
const list = this.listsById.get(listId);
const subscriptionGrouped = await subscriptions.getByEmail(contextHelpers.getAdminContext(), list.id, email);
const flds = this.listsFieldsGrouped.get(listId);
const campaign = this.campaign;
@ -171,7 +171,7 @@ class CampaignSender {
if (!list.listunsubscribe_disabled) {
listUnsubscribe = campaign.unsubscribe_url
? tools.formatMessage(campaign, list, subscriptionGrouped, mergeTags, campaign.unsubscribe_url)
: getPublicUrl('/subscription/' + list.cid + '/unsubscribe/' + subscriptionGrouped.subscription.cid);
: getPublicUrl('/subscription/' + list.cid + '/unsubscribe/' + subscriptionGrouped.cid);
}
const mailer = await mailers.getOrCreateMailer(sendConfiguration.id);
@ -257,7 +257,7 @@ class CampaignSender {
await knex('campaign_messages').insert({
campaign: this.campaign.id,
list: listId,
subscriptions: subscriptionGrouped.id,
subscription: subscriptionGrouped.id,
send_configuration: sendConfiguration.id,
status,
response,

View file

@ -4,20 +4,20 @@
This module handles Mailtrain database initialization and upgrades
*/
let config = require('config');
let mysql = require('mysql2');
let log = require('npmlog');
let fs = require('fs');
let pathlib = require('path');
let Handlebars = require('handlebars');
const config = require('config');
const mysql = require('mysql2');
const log = require('./log');
const fs = require('fs');
const pathlib = require('path');
const Handlebars = require('handlebars');
const highestLegacySchemaVersion = 29;
let mysqlConfig = {
const mysqlConfig = {
multipleStatements: true
};
Object.keys(config.mysql).forEach(key => mysqlConfig[key] = config.mysql[key]);
let db = mysql.createPool(mysqlConfig);
const db = mysql.createPool(mysqlConfig);
function listTables(callback) {
db.getConnection((err, connection) => {

View file

@ -1,7 +1,7 @@
'use strict';
const fork = require('child_process').fork;
const log = require('npmlog');
const log = require('./log');
const path = require('path');
const requestCallbacks = {};

View file

@ -1,7 +1,7 @@
'use strict';
const fork = require('child_process').fork;
const log = require('npmlog');
const log = require('./log');
const path = require('path');
let feedcheckProcess;

View file

@ -2,7 +2,7 @@
const knex = require('./knex');
const fork = require('child_process').fork;
const log = require('npmlog');
const log = require('./log');
const path = require('path');
const {ImportStatus, RunStatus} = require('../shared/imports');

8
lib/log.js Normal file
View file

@ -0,0 +1,8 @@
'use strict';
const config = require('config');
const log = require('npmlog');
log.level = config.log.level;
module.exports = log;

View file

@ -1,6 +1,6 @@
'use strict';
const log = require('npmlog');
const log = require('./log');
const config = require('config');
const Handlebars = require('handlebars');

View file

@ -1,7 +1,7 @@
'use strict';
const config = require('config');
const log = require('npmlog');
const log = require('./log');
const _ = require('./translate')._;
const util = require('util');

View file

@ -1,6 +1,6 @@
'use strict';
const log = require('npmlog');
const log = require('./log');
const config = require('config');
const fs = require('fs');

View file

@ -1,6 +1,6 @@
'use strict';
const log = require('npmlog');
const log = require('./log');
const reports = require('../models/reports');
const executor = require('./executor');
const contextHelpers = require('../lib/context-helpers');

View file

@ -1,7 +1,7 @@
'use strict';
const fork = require('child_process').fork;
const log = require('npmlog');
const log = require('./log');
const path = require('path');
const knex = require('../lib/knex');
const {CampaignStatus} = require('../shared/campaigns');
@ -12,10 +12,8 @@ let senderProcess;
function spawn(callback) {
log.verbose('Senders', 'Spawning master sender process');
knex.transaction(async tx => {
await tx('campaigns').where('status', CampaignStatus.SENDING).update({status: CampaignStatus.SCHEDULED});
}).then(() => {
knex('campaigns').where('status', CampaignStatus.SENDING).update({status: CampaignStatus.SCHEDULED})
.then(() => {
senderProcess = fork(path.join(__dirname, '..', 'services', 'sender-master.js'), [], {
cwd: path.join(__dirname, '..'),
env: {NODE_ENV: process.env.NODE_ENV}

View file

@ -1,6 +1,6 @@
'use strict';
const log = require('npmlog');
const log = require('./log');
const fields = require('../models/fields');
const settings = require('../models/settings');
const {getTrustedUrl} = require('./urls');

View file

@ -6,7 +6,7 @@ const Gettext = require('node-gettext');
const gt = new Gettext();
const fs = require('fs');
const path = require('path');
const log = require('npmlog');
const log = require('./log');
const gettextParser = require('gettext-parser');
const fakelang = require('./fakelang');