cronbit
Fastest javascript CRON implementation,
no external dependencies! Pure javascript.
The library is implemented with speed in mind. For
condition checking - bitwise operations are used.
Each minute
, hour
, dom
, month
, dow
is represented
by one bit, this makes condition checking really fast.
It can easily handle thousands of CRON Jobs at once.
For the speed boost the module is made to work with server time.
Install
npm install cronbit
CRON
┌───────────── min (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, or use names; 7 is also Sunday) │ │ │ │ │ │ │ │ │ │cron.init("* * * * *", calllback)
Available Cron patterns:
Asterisk. E.g. *
Ranges. E.g. 1-3
Steps. E.g. */2
Lists, E.g. 1,2,3,6,7,9
Simple Example
var cronbit = ; var cron = ; cron; cron;
Module methods that can be used for self made CRON logic
Generates bit-mask array from CRON string ("*/5 * * * *"
).
/** * Make bit-mask array * @param * @return */cronbit;
Checks already generated bitMaskArr to timeArr.
/** * Check bit-masks of cron condition to bit-mask of current/given time. * * @param * @param * @return */cronbit;
Helpers:
// set bit at current positioncronbithelpers; // get bit at current positioncronbithelpers; // check two bit arrays for complete matchcronbithelpers; // generates bit-mask timeArrcronbithelpers;