npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

cron-runner

v0.1.1

Published

Custom code execution periodically

Downloads

13

Readme

cron-runner

Custom code execution periodically

NPM

Coveralls branch Travis David David

GitHub Logo

RUSSIAN DOCUMENTATION

Usage

You should inherit from given module with help of inherit

var inherit = require('inherit'),
    CronRunner = require('cron-runner');

var MyCronRunner = inherit(CronRunner, {
    __constructor: function (options) {
        this.__base(options);
        //TODO implement your custom initialization code here
    },

    execute: function () {
        //TODO implement your custom execution code here
    }
});

var mcr = new MyCronRunner({
    cron: {
        pattern: '0 */1 * * * *'
    }
});

mcr.start();

API

constructor

You should call constructor of cron-runner module with options object (required). The fields of this object should be:

  • cron - simple string or object with field cron which contains cron pattern string value. You can receive more details about cron patterns here.
  • logger - logger configuration. This is optional configuration field for logger initialization.

setIdle

Switches state of runner to IDLE state. You can call it after your custom execution code for unlock next execution calls.

setActive

Switches state of runner to ACTIVE state. You can call it before your custom execution code for lock next execution calls if current execution has not performed yet.

isActive

Returns true if cron runner is in ACTIVE state. Otherwise returns false.

execute

Normally you should override this methods in you CronRunner inheritance and write your custom code

start

Performs start of running cron tasks.

stop

Performs stop of running cron tasks.

Testing

Run tests:

npm run mocha

Run tests with istanbul coverage calculation:

npm run istanbul

Run codestyle verification (jshint and jscs)

npm run codestyle

Special thanks to:

  • Nikolay Ilchenko (http://github.com/tavriaforever)
  • Konstantinova Gela (http://github.com/gela-d)

Maintainer @tormozz48 Please send your questions and proposals to: [email protected]