Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

scheduler4js

Package Overview
Dependencies
Maintainers
1
Versions
64
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

scheduler4js

Scheduler4js is a library for scheduling tasks in Node.JS. This library makes easier to dynamically create cron jobs running on sql database from client side.

  • 1.2.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Scheduler4js

Scheduler4js is a library for scheduling tasks in Node.JS. This library makes easier to dynamically create cron jobs running on sql database from client side.

Featurescheduler4js
BackendPostgresql/Mssql
Priorities
Concurrency
Global events
Atomic ops
Persistence
Supports long running jobs
Supports logging
Supports group jobs
Optimized forJobs

Installation

npm i scheduler4js

Usage:

This library provides a schedule class that accepts a task function and a config representing when the task should be run.

Create db connection and library config to create instance of the library:

TS

import { Scheduler, Frequency, Timezone, CronUtil } from "scheduler4js";

JS

const { Scheduler, Frequency, Timezone, CronUtil } = require("scheduler4js");
async function example() {
  const dbConfig = {
    port: 5432,
    host: "localhost",
    username: "postgres",
    password: "password",
    dialect: "postgres",
    database: "scheduler4js",
    logging: false,
  };

  const config = {
    frequency: Frequency.ONCE_IN_HALF_MINUTE,
    lockLifetime: 6 * 1000,
    type: "x",
    kick: true,
  };

  const scheduler = await Scheduler.init({ dbConfig, config });

  scheduler.enqueueJob({
    name: "example",
    concurrency: 1,
    type: "x",
    timezone: Timezone.ASIA_DUBAI,
    cron: CronUtil.EVERY_X_MINUTE(1),
    lockLimit: 1,
    saveLog: false,
    priority: 0,
    fn: () => {
      console.log(`Job run at the time of ${new Date()}`);
    },
  });

  scheduler.on("begin", (job) => {
    console.log("begin", job);
  });

  scheduler.on("completed", (job) => {
    console.log("completed", job);
  });

  scheduler.on("fail", (err, job) => {
    console.log("fail", err, job);
  });
}

example();

API

Schedules a task to repeat at the specified date.

  • name: The name of the job
  • concurrency: The concurrency of the job
  • type: The type of the job which shows which executor should execute the given job
  • lockLimit: It shows the number of lock limit
  • fn: A function to run when the scheduled time arrives.
  • cron: It's cron expression representing the time to run the task again and again.
  • saveLog: It saves the result of the given jobs when they run
  • priority: Reorder jobs according to the given priority
  • frequency: It specifies the frequency which master cron job repeats in a minute
  • lockLifetime: It shows the lock life time of the jobs in ms
  • kick: To kick jobs to run

License

MIT

Keywords

FAQs

Package last updated on 28 Apr 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc