cronmon
v1.0.6
Published
Execute cron jobs and monitor their run results with email and slack notifications
Downloads
18
Maintainers
Readme
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: '[email protected]',
password: 'YourPassword123',
host: 'smtp.gmail.com',
ssl: true,
recipients: '[email protected], [email protected], [email protected]',
from: 'Cronmon <[email protected]>',
// 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();