Visit us at www.nasriya.net.
Made with ❤️ in Palestine 🇵🇸
Easily generate cron-expressions, schedule periodic cron jobs as well as time specific tasks.
Important
🌟 Support Our Open-Source Development! 🌟 We need your support to keep our projects going! If you find our work valuable, please consider contributing. Your support helps us continue to develop and maintain these tools.
Every contribution, big or small, makes a difference. Thank you for your generosity and support!
npm i @nasriya/cronImport in ES6 module
import cron from '@nasriya/cron';Import in CommonJS (CJS)
const cron = require('@nasriya/cron').default;Use the time module on the cron manager to easily generate cron-expressions.
// Runs every 5 minutes
const expression1: string = cron.time.every(5).minutes();
// Runs every Monday and Tuesday
const expression2: string = cron.time.onSpecificDays(['Tue', 2]);To schedule tasks using a cron-expression, use the schedule method:
const task: ScheduledTask = cron.schedule('* * * * *', () => {
console.log('A cron-job is running...');
}, {
name: 'test_task', // (Optional) The name of the task
timezone: 'Asia/Jerusalem', // (Optional) The timezone the task will run at
runOnInit: false // (Optional) Set to "true" to run immediately
})The schedule method returns a ScheduledTask type:
interface ScheduledTask {
name: string; // The name of the task
start: () => void; // Start/resume the task
stop: () => void; // Pause the task
destroy: () => Promise<void>; // Destroy the task
}To schedule one-time tasks use the scheduleTime method. The method takes two arguments:
time: A timestampnumber, an ISO date, or aDateinstance.task: afunction.
// Schedule a task to run after 10 minutes from now:
const tenMins = 10 * 60 * 1000;
const task: ScheduledTimedTask = cron.scheduleTime(Date.now() + tenMins, () => {
console.log('Ten minutes has elapsed since the task was first scheduled')
})The scheduleTime method returns a ScheduledTimedTask type:
interface ScheduledTimedTask {
name: string; // The name of the task
cancel: () => void; // Cancel the task
invoke: () => void; // Invoke the task
destroy: () => Promise<void>; // Destroy the task
}This software is licensed under the Nasriya Open License (NOL), version 1.0. Please read the license from here.
