Git Product home page Git Product logo

kroncache-node's Introduction

kroncache-node

kroncache-node is a cache manager and job scheduling kroncache client for Node.js

Do know that kroncache is still under development

Installation

Setup kroncache server

npm install kroncache

Usage

const Kroncache = require("kroncache");

async function main() {
  try {
    const kron = new Kroncache({ ttl: 20 });
    await kron.connect();
    // Save records
    // set the ttl to 2 minutes and set the ack to true to notify once it expired
    await kron.set("LOKI", { name: "me" }, { ttl: "2 minutes", ack: true });

    // Save a record which will expires after the default 20 seconds ttl and it will not notify
    await kron.set("AKUMA", [{ name: "me" }, { name: "Akuma" }]);

    // Retrieve record
    let data = await kron.get("AKUMA");
    console.log(data.name);

    // Retrieve records keys
    let keys = await kron.keys();
    console.log(keys);

    // Reset/purge database
    // await kron.reset();

    // Listen for expired/elapsed records
    kron.addListener("expired", (payload) => {
      console.log("Expired: ", payload);
      //Expired:  { data: { name: 'me' }, key: 'LOKI' }
    });

    // Define jobs
    kron.define("cron directive expression", (payload) => {
      console.log(payload);
    });
    kron.define("cron expression", (payload) => {
      console.log(payload);
    });
    kron.define("scheduler", (payload) => {
      console.log(payload);
    });

    await kron.cron("cron directive expression", "@every 2s");

    await kron.cron("cron expression", "* * * * *");

    let sixSeconds = new Date(Date.now() + 6000);
    await kron.schedule("scheduler", sixSeconds, { expire: sixSeconds });
  } catch (error) {
    console.log({ error });
  }
}
main();

kroncache-node's People

Contributors

akumzy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

kroncache-node's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.