Basic usage
Croner uses the function new Cron()
which takes in three arguments:
const job = new Cron(
/* The pattern */
"* * * * * *",
/* Options (optional) */
{ maxRuns: 1 },
/* Function (optional) */
() => {}
);
If the function is omitted in the constructor, it can be scheduled later:
job.schedule(job, /* optional */ context) => {});
The job will be scheduled to run at the next matching time unless you supply the option { paused: true }
. The Cron(...)
constructor will return a Cron instance, later referred to as job
, which have a few methods and properties.
Status
Check the status of the job using the following methods:
job.nextRun( /*optional*/ startFromDate ); // Get a Date object representing the next run.
job.nextRuns(10, /*optional*/ startFromDate ); // Get an array of Dates, containing the next n runs.
job.msToNext( /*optional*/ startFromDate ); // Get the milliseconds left until the next execution.
job.currentRun(); // Get a Date object showing when the current (or last) run was started.
job.previousRun( ); // Get a Date object showing when the previous job was started.
job.isRunning(); // Indicates if the job is scheduled and not paused or killed (true or false).
job.isStopped(); // Indicates if the job is permanently stopped using `stop()` (true or false).
job.isBusy(); // Indicates if the job is currently busy doing work (true or false).
job.getPattern(); // Returns the original pattern string
Control Functions
Control the job using the following methods:
job.trigger(); // Force a trigger instantly
job.pause(); // Pause trigger
job.resume(); // Resume trigger
job.stop(); // Stop the job completely. It is not possible to resume after this.
// Note that this also removes named jobs from the exported `scheduledJobs` array.
Properties
job.name // Optional job name, populated if a name were passed to options