Natural Performance Manager

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

    1.0.0 • Public • Published

    A Dexare module for managing crons.

    npm install @dexare/cron
    const { DexareClient } = require('dexare');
    const CronModule = require('@dexare/cron');
    
    const config = {
      // All props in this config are optional, defaults are shown unless told otherwise
      cron: {
        // The folder path to load upon loading the module, defaults to none
        // When registering crons in a folder, they must end with `.cron.js`
        loadFolder: './src/crons'
      }
    }
    
    const client = new DexareClient(config);
    client.loadModules(CronModule);
    
    const cron = client.modules.get('cron');
    // You can choose to register crons from folders
    cron.registerFromFolder('./src/crons');
    // Or register a cron directly
    cron.register({
      name: 'example-cron',
      time: '0 * * * *', // Hourly
      onTick: (client, job) => {
        console.log(`This cron executed at ${job.lastDate}`)
      }
    });

    Cron File Example

    This example cron flushes throttle data within memory data managers. Options are the same as CronJob's constructor parameters, except a new parameter name must be given to identify the job, and context will not be used in the construction of a new cron job.

    // ./src/crons/flushThrottles.cron.js
    
    module.exports = {
      name: 'flush-throttles',
      time: '0 * * * *', // Hourly
      onTick: (client, job) => {
        this.client.data.flushThrottles()
      }
    }

    Install

    npm i @dexare/cron

    DownloadsWeekly Downloads

    4

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    12 kB

    Total Files

    9

    Last publish

    Collaborators

    • snazzah