About
job-scheduler is a job manager for nodejs, providing job creation, rescheduling, cancel, etc.
Installation
npm install job-scheduler
Quickstart
const jobScheduler = ; jobScheduler;
API
callback
, time
, options
)
scheduleJob(Schedule a job, happening in time
ms from now on.
-
callback
- (Function, Require) What to be done in the job. -
time
- (Number, Optional, Defaultzero
) A millisecond based time point, when will the job happen. -
options
- (Object, Optional, Default{}
) Job options.loop
- (Boolean, Optional, Defaultfalse
) Whether it's a loop job.true
, the job will happen everytime
ms(setInterval-like).false
, the job will happen only once intime
ms from now on(setTimeout-like).
exclusive
- (Boolean, Optional, Defaultfalse
) If it's aloop
job andexclusive
istrue
. Job instances will happen one one by one, no overlap. The interval between job instances istime
ms.argArray
- (Array, Optional, Defaultundefined
) The argument array ofcallback
;
You can also put any other properties in the options
for searching jobs, described in subsequent APIs.
jobScheduler;
options
, time
)
reschedule(Reschedule a job(s).
options
- (Object, Optional, Default{}
) Which job(s) will be rescheduled. Only the job(s) whoseoptions
is equal to or contains the givenoptions
, will be rescheduled. Defaultoptions
means rescheduling all jobs.time
- (Number, Optional, Defaultzero
) Reschedule time.
jobScheduler; // sleep 1 second jobScheduler; // job will happen in 5000ms from now on.
options
)
cancelJob(Cancel a job(s).
options
- (Object, Optional, Default{}
) Which job(s) will be canceled, likereschedule
.
jobScheduler; // sleep 1 second jobScheduler;
cancelAll()
Cancel all jobs.
jobScheduler; jobScheduler; // sleep 1 second jobScheduler;
options
, remove
)
doNow(Let a job(s) happen right now.
options
- (Object, Optional, Default{}
) Which job(s) will be done now, likereschedule
.remove
- (Boolean, Optional, Defaultfalse
) Whether to remove the job(s) after do it now.true
- Remove it after do it now.false
- Keep it after do it now, it will happen again when its scheduled time is coming.
jobScheduler; // sleep 1 second jobScheduler;
Build the src
npm run build
The build result will be in dist folder.