Noodles Practicing Medicine
    Wondering what’s next for npm?Check out our public roadmap! »

    nestjs-cron
    TypeScript icon, indicating that this package has built-in type declarations

    1.2.0 • Public • Published

    NestJS cron Module

    alt cover

    More NestJS libs on alariblog.ru

    npm version npm version npm version npm version

    NestJS cron package allows you easily setup cron for your controllers or services.

    npm i nestjs-cron

    To use cron, decorate your class with @Scheduled() and method with @Cron(). Your class has to be a provider or a controller that is declared in any module.

    import { Cron, Scheduled } from 'nestjs-cron';
     
    @Injectable()
    @Scheduled()
    export class MyClass {
        @Cron('* * * * * *')
        async myMethod() {
            //...
        }
    }

    '* * * * * *' - is a standart cron notation. In this example it will be triggered every second. Additionaly you can use options:

    @Cron('* * * * * *', {
        launchOnInit: true,
        sync: true,
    })
    • launchOnInit - Launch job one time right after start.
    • delay - Delay before start in ms if launchOnInit is true.
    • sync - Wait for method to finish before launching next tick if your function takes more time then cron.

    Cron Intercepter

    To intercept cron you can use @CronIntercepter decorator. You pass class that implements CronIntercepterClass as a parameter. It has one intercept method that returns Promise<boolean>.

    export class MyIntercepter implements CronIntercepterClass {
        async intercept() {
            return false;
        }
    }

    Usage example:

    @Scheduled()
    @Injectable()
    export class AppService {
        @CronIntercepter(MyIntercepter)
        @Cron('* * * * * *')
        getHello() {
            console.log('test');
        }
    }

    If intercept method returns true your cron will run as planned. If false method run will be skipped.

    Install

    npm i nestjs-cron

    DownloadsWeekly Downloads

    135

    Version

    1.2.0

    License

    MIT

    Unpacked Size

    18.2 kB

    Total Files

    37

    Last publish

    Collaborators

    • avatar