1.0.6 • Published 6 years ago
cronmon v1.0.6
cronmon
Node.js module for executing cron jobs and monitoring their run results with email and slack notifications
Getting Started
npm i cronmon
Basic Usage
let Cronmon = require('cronmon');
let cronmon = new Cronmon({
command: 'ls -al',
crontab: '* * * * *',
expectedExitCode: 0
});
Advanced Configuration
let Cronmon = require('cronmon');
let cronmon = new Cronmon({
// required
command: 'ls -al',
crontab: '* * * * *',
expectedExitCode: 0, // Must be of type int
// optional
name: 'Test Command',
timeout: 30000, // timeout for command execution (default 60000)
silent: false, // Set to true to receive no additional logging (defaults false)
// Cronmon uses 'emailjs' behind the scenes
// For additional details on configuration, check out their docs
// https://github.com/eleith/emailjs
email: {
enabled: true,
// required
user: 'example@email.com',
password: 'YourPassword123',
host: 'smtp.gmail.com',
ssl: true,
recipients: 'recipient1@email.com, recipient2@email.com, recipient3@email.com',
from: 'Cronmon <username@your-email.com>',
// optional
alertOnSuccess: false,
},
// Cronmon uses 'node-slack' behind the scenes
// For additional details on configuration, check out their docs
// https://github.com/xoxco/node-slack
slack: {
enabled: true,
// required
hookUri: '', // Get this from your Slack API dev console
channel: '#dev', // Make sure to prefix with a '#'
username: 'Cronmon',
// optional
alertOnSuccess: false
},
// Will run after job exectution regardless of exitCode (optional)
callback: (exitCode, output) => {
console.log('Callback!');
}
});
You can manually start and stop your processes via:
cronmon.start(); // Set autoStart: false in config obj to init manually via method
cronmon.stop();