Added master/worker pm2 detection and mail configuration

This commit is contained in:
vjrj 2018-04-04 08:42:02 +02:00
parent f042beceb1
commit a6bd1095bf
5 changed files with 27 additions and 1 deletions

View file

@ -3,6 +3,7 @@ import { Mongo } from 'meteor/mongo';
import nodemailer from 'nodemailer';
import { MailTime } from 'meteor/ostrio:mailer';
import i18n from 'i18next';
import isMaster from './isMaster';
const transports = [];
@ -22,7 +23,8 @@ export const hr = `<table cellspacing="0" cellpadding="0" border="0" width="100%
let MailQueue;
if (Meteor.settings.private.isMailServer) {
if (Meteor.settings.private.isMailServer && isMaster) {
console.log('I\'m the mail server');
MailQueue = new MailTime({
db,
type: 'server',
@ -47,6 +49,7 @@ if (Meteor.settings.private.isMailServer) {
template: MailTime.Template // Use default template
});
} else {
console.log('I\'m a mail client');
MailQueue = new MailTime({
db,
type: 'client',

View file

@ -14,3 +14,4 @@ import './subsUnion';
import './prerender';
import './feedback';
import './cron';
import './isMaster';

View file

@ -0,0 +1,16 @@
/* eslint-disable import/no-absolute-path */
import pm2Master from 'pm2-master';
import { Meteor } from 'meteor/meteor';
Meteor.startup(() => {
if (pm2Master.isMaster()) {
console.log('This is the master process');
} else {
console.log('This is a worker process');
}
});
const isMaster = () => pm2Master.isMaster();
export default isMaster;