@bcgov/probot-scheduler

1.2.1 • Public • Published

Probot: Scheduler

npm

A Probot extension to trigger events on an hourly schedule.

Usage

$ npm install probot-scheduler
const createScheduler = require('probot-scheduler')

module.exports = (robot) => {
  createScheduler(robot)
  robot.on('schedule.repository', context => {
    // this event is triggered on an interval, which is 1 hr by default
  })
}

Configuration

There are a few environment variables that can change the behavior of the scheduler:

  • DISABLE_DELAY=true - Perform the schedule immediately on startup, instead of waiting for the random delay between 0 and 59:59 for each repository, which exists to avoid all schedules being performed at the same time.

  • IGNORED_ACCOUNTS=comma,separated,list - GitHub usernames to ignore when scheduling. These are typically spammy or abusive accounts.

Options

There are a few runtime options you can pass that can change the behavior of the scheduler:

  • delay - when false, the schedule will be performed immediately on startup. When true, there will be a random delay between 0 and interval for each repository to avoid all schedules being performed at the same time. Default: true unless the DISABLE_DELAY environment variable is set.

  • interval - the number of milliseconds to schedule each repository. Default: 1 hour (60 * 60 * 1000)

For example, if you want your app to be triggered once every day with delay enabled on first run:

const createScheduler = require('probot-scheduler')

module.exports = (robot) => {
  createScheduler(robot, {
    delay: !!process.env.DISABLE_DELAY, // delay is enabled on first run
    interval: 24 * 60 * 60 * 1000 // 1 day
  })
  
  robot.on('schedule.repository', context => {
    // this event is triggered once every day, with a random delay
  })
}

Readme

Keywords

Package Sidebar

Install

npm i @bcgov/probot-scheduler

Weekly Downloads

0

Version

1.2.1

License

ISC

Unpacked Size

6.75 kB

Total Files

5

Last publish

Collaborators

  • jleach
  • shellyxuehan
  • parcjason
  • akroon3r
  • bc-gov-common-services
  • nicoledegreef
  • qqnluaq
  • jujaga
  • dgboss
  • ty2k
  • michael.nelson.gov.bc.ca
  • mgranbois
  • sheaphillips
  • citzcodemvp
  • sidmclaughlin
  • taylorfries
  • bradenmitchell
  • irfan.charania
  • stoews
  • supriya-arora