@nasriya/cron
TypeScript icon, indicating that this package has built-in type declarations

1.1.2 • Public • Published

N|Solid

NasriyaCron.

NPM License NPM Version NPM Unpacked Size Last Commit Status

Visit us at www.nasriya.net.

Made with ❤️ in Palestine 🇵🇸


Overview

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.

Click here to support us!

Every contribution, big or small, makes a difference. Thank you for your generosity and support!


Installation

npm i @nasriya/cron

Importing

Import in ES6 module

import cron from '@nasriya/cron';

Import in CommonJS (CJS)

const cron = require('@nasriya/cron').default;

Usage

Generate Time Expressions

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]);
Schedule a Periodic Task

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
}
Schedule a One-Time Task

To schedule one-time tasks use the scheduleTime method. The method takes two arguments:

  1. time: A timestamp number, an ISO date, or a Date instance.
  2. task: a function.
// 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
}

License

This software is licensed under the Nasriya Open License (NOL), version 1.0. Please read the license from here.

Readme

Keywords

Package Sidebar

Install

npm i @nasriya/cron

Weekly Downloads

14

Version

1.1.2

License

NOL-1

Unpacked Size

61.7 kB

Total Files

13

Last publish

Collaborators

  • ahmadnasriya