New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.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.0.54
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
8
increased by33.33%
Maintainers
1
Weekly downloads
 
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.

Installation

npm i scheduler4js

Usage:

The 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

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

JS IMPORT

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 = new Scheduler();
  await scheduler.init({ dbConfig, config });

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

example();

Output:

Job run at the time of Sat Apr 08 2023 08:01:05 GMT+0300 (GMT+03:00)
Job run at the time of Sat Apr 08 2023 08:02:05 GMT+0300 (GMT+03:00)
Job run at the time of Sat Apr 08 2023 08:03:05 GMT+0300 (GMT+03:00)
Job run at the time of Sat Apr 08 2023 08:04:05 GMT+0300 (GMT+03:00)
Job run at the time of Sat Apr 08 2023 08:05:05 GMT+0300 (GMT+03:00)

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
  • lockExpire: It shows locking life time of 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

License

MIT

Keywords

FAQs

Package last updated on 11 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