Pure JavaScript minimal isomorphic cron parser and scheduler. Or simply speaking - setInterval on steroids.
Supports node.js, require.js and stand alone usage.
<script src="//cdn.56k.guru/js/croner/latest/croner.min.js"></script>// Run a function each second
Cron('* * * * * *', function () {
console.log('This will run every second');
});npm install croner
Copy and paste one of the following script tags.
Minified
<script src="//cdn.56k.guru/js/croner/latest/croner.min.js"></script>Full
<script src="//cdn.56k.guru/js/croner/latest/croner.js"></script>var Cron = require('croner');
Cron('* * * * * *', function () {
console.log('This will run every second');
});Include croner.min.js fron cdn or manually, see installation section above. Croner registers itself globally as 'Cron'.
// Run a function each second
Cron('* * * * * *', function () {
console.log('This will run every second');
});Include croner.js in your preferred way, it will register itself as a require.js module.
define(["croner"], function(Cron) {
Cron('* * * * * *', function () {
console.log('This will run every second');
});
});// Run a function each second
Cron('* * * * * *', function () {
console.log('This will run every second');
});// Run a function every fifth second
Cron('*/5 * * * * *', function () {
console.log('This will run every fifth second');
});// Run a function the first five seconds of a minute
Cron('0-4 * * * * *', function () {
console.log('This will run the first five seconds every minute');
});// Run a function each second, limit to five runs
Cron('* * * * * *', { maxRuns: 5 }, function () {
console.log('This will run each second, but only five times.');
});// Run a function each second, get reference to job
var job = Cron('* * * * * *', function () {
console.log('This will run each second.');
});
// Pause job
job.pause();
// Resume job
job.resume();
// Stop job
job.stop();// Run every minute
var scheduler = Cron('0 * * * * *');
scheduler.schedule(function() {
console.log('This will run every minute');
});// Run every minute
var scheduler = Cron('0 * * * * *');
// Schedule with options (all options are optional)
scheduler.schedule({ maxRuns: 5 }, function() {
console.log('This will run every minute.');
});// Run every minute
var scheduler = Cron('0 * * * * *');
// Schedule with options (all options are optional)
var job = scheduler.schedule({ maxRuns: 5 }, function() {
console.log('This will run every minute.');
});
// Pause job
job.pause();
// Resume job
job.resume();
// Stop job
job.stop();var o = Cron( <string pattern> [, <object options>] [, <function callback> ] );
// If Cron is initialized without a scheduled function, cron itself is returned
// and the following member functions is available.
o.next( [ <date previous> ] );
o.msToNext();
// If Cron is initialized _with_ a scheduled function, the job is retured instead.
// Otherwise you get a reference to the job when scheduling a new job.
var job = o.schedule( [ { startAt: <date>, stopAt: <date>, maxRuns: <integer> } ,] callback);
// These self-explanatory functions is available to control the job
job.pause();
job.resume();
job.stop();┌──────────────── second (0 - 59)
│ ┌────────────── minute (0 - 59)
│ │ ┌──────────── hour (0 - 23)
│ │ │ ┌────────── day of month (1 - 31)
│ │ │ │ ┌──────── month (1 - 12)
│ │ │ │ │ ┌────── day of week (0 - 6)
│ │ │ │ │ │ (0 to 6 are Sunday to Saturday; 7 is Sunday, the same as 0)
│ │ │ │ │ │
* * * * * *
MIT