/scheduler

Bitcode para agendamento de exeução de rotinas

Primary LanguageJavaScriptMIT LicenseMIT

Scheduler Build Status GitHub release

Scheduler é um bitcode para agendamento de exeução de rotinas para Thrust.

Instalação

Posicionado em um app ThrustJS, no seu terminal:

thrust install scheduler

Tutorial

var scheduler = require('scheduler')
var timerInstance = scheduler.schedule(2000, true, function() {
  console.log('Rodando Scheduler...')
})

timerInstance.cancel()

scheduler.schedule(function() {
  console.log('Rodando task...')
}, ['09:30', '17:00']).forEach(function(task) {
  console.log('MS:', task.getDelay(), 'SC:', task.getDelay('SECONDS'))
  task.cancel()
})

API

/**
  * Agenda uma ação para ser executada de tempos em tempos
  * @param {Int} period - Período de exeução (em milisegundos)
  * @param {Boolean} startImmediate - Indica se a exeução deve começar imediatamente
  * @param {Function} action - Função a ser executada
  * @example
  * var scheduler = require('scheduler')
  * var timerInstance = scheduler.schedule(2000, true, function() {
  *  print('Rodando Scheduler...')
  * })
  * @returns {Object} Retorna uma instância de Timer para que seja possível, por exemplo, invocar o método cancel()
*/
schedule(period, startImmediate, action)

/**
  * Agenda uma ação para ser executada em horários específicos todos os dias.
  * 
  * Será retornado um array com as tasks criadas.
  * As tasks possuem os métodos:
  * - cancel(Boolean force) - Ao passar true a task será interrompida caso esteja sendo executada no momento
  * - getDelay(String timeUnit) - String com a unidade de tempo que o delay deve ser calculado (DAYS|HOURS|MICROSECONDS|MILLISECONDS|MINUTES|NANOSECONDS|SECONDS)
  * 
  * @param {Function} action - Função a ser executada
  * @param {Array} times - Array com os horários em que a ação deve ser executada
  * @example
  * let tasks = scheduler.schedule(function() {
  *  print('Rodando task...')
  * }, ['09:30', '17:00'])
  * @returns {Object} Retorna um array com as tasks criadas para cada horário
  * 
*/
dailySchedule(fn, times)

Parâmetros de configuração

Não há.