How to use node-schedule - 10 common examples

To help you get started, we’ve selected a few node-schedule examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github punchcard-cms / punchcard / lib / schedule / utils.js View on Github external
return new Promise(res => {
    if (down) {
      if (moment(revision.sunset).unix() <= now) {
        pull(revision).catch(e => {
          // Need to message out here as we can't properly reject Promises
          console.error(`Sunset failed: ${e.message}`); // eslint-disable-line no-console
        });
      }
      else {
        scheduler.scheduleJob(down, () => {
          pull(revision).catch(e => {
            // Need to message out here as we can't properly reject Promises
            console.error(`Sunset failed: ${e.message}`); // eslint-disable-line no-console
          });
        });
      }
    }

    res(true);
  });
};
github hasura / issues / app / src / server.js View on Github external
// Listen at the server
if (config.port) {
  server.listen(config.port, config.host, (err) => {
    if (err) {
      console.error(err);
    }
    console.info('----\n==> ✅  %s is running, talking to API server.', config.app.title);
    console.info('==> 💻  Open http://%s:%s in a browser to view the app.', config.host, config.port);
  });
} else {
  console.error('==>     ERROR: No PORT environment variable has been specified');
}

// Schedule the emails to be sent out
schedule.scheduleJob(EMAIL_CRON, () => {
  console.log('\nRUNNING JOB:');
  if (ACTIVE_MILESTONE) {
    fetch(`${INTERNAL_ENDPOINT}/email-screenshot/${ACTIVE_MILESTONE}`).then(response => {
      console.log('Made request to send sprint email');
      if (response.status >= 200 && response.status < 300) {
        console.log('successfull');
        response.text().then(d => (console.log(d)));
      } else {
        console.error('fail');
        response.text().then(d => (console.error(d)));
      }
    });
  } else {
    fetch(`${INTERNAL_ENDPOINT}/email/maintenance`).then(response => {
      console.log('Made request to send maintenance email');
      if (response.status >= 200 && response.status < 300) {
github superman66 / wakatime-sync / src / index.ts View on Github external
if (error.response) {
        const { data } = error.response
        console.log(`${date}: 糟糕....请求出了点小差错。错误原因:${JSON.stringify(data)}`)
        serverPushInstance.sendMessageToWechat(
          `【Wakatime Sync】${date}的数据同步失败`,
          `错误原因:${JSON.stringify(data)}`
        )
      }
    })
}

// 每次重跑 job 手动执行一次同步
syncWakaTimeToGist(config.syncGistId)

// 每天1点30分30秒执行该job
const job = schedule.scheduleJob('30 30 1 * * *', function() {
  syncWakaTimeToGist(config.syncGistId)
})
github surmon-china / nodepress / src / todos / np-redis.js View on Github external
})
    })())
  }

  // 定时任务
  if (timing) {
    const promiseTask = () => {
      promise()
        .then(data => hommizationSet(key, data))
        .catch(err => {
          console.warn(`Redis 定时任务执行失败,${timing.error} 后重试:`, err)
          setTimeout(promiseTask, timing.error)
        })
    }
    promiseTask()
    schedule.scheduleJob(timing.schedule, promiseTask)
  }
  
  // 返回 Redis 获取器
  return () => hommizationGet(key)
}
github XNAL / vue-github-rank / server / timer / timeTask.js View on Github external
exports.timeTask = function () {
    // 两个时间规则,降低爬虫频率,提高成功率
    let ruleChina = new schedule.RecurrenceRule();
    let ruleAll = new schedule.RecurrenceRule();
    let ruleLanguage = new schedule.RecurrenceRule();

    ruleChina.hour = [1];
    ruleChina.minute = 0;

    ruleAll.hour = [2];
    ruleAll.minute = 0;

    ruleLanguage.hour = [3];
    ruleLanguage.minute = 0;

    // 每隔6小时执行一次, 奇数小时
    schedule.scheduleJob(ruleChina, async function () {
        console.log('China most followers定时任务开始执行!', moment().format('YYYY-MM-DD HH:mm:ss'));
        // 获取 100 most followers of china
github shunwuyu / lesson_md / node / girl-friend / index.js View on Github external
html: html
  };
  transporter.sendMail(mailOptions, (error, info = {}) => {
    if (error) {
      console.log(error);
      // sendMail(HtmlData); //再次发送
      return false;
    }
    console.log("邮件发送成功", info.messageId);
    console.log("静等下一次发送");
  });
}
//每日发送时间
let EmailHour = 8;
let EmialMinminute= 20;
let rule = new schedule.RecurrenceRule();
// 0, 1, 2, 3, 4, 5, 6
// Sunday, mon, tue, th, f, f s
rule.dayOfWeek = [0, new schedule.Range(1, 6)];
rule.hour = EmailHour;
rule.minute = EmialMinminute;
console.log('NodeMail: 开始等待目标时刻...')
let j = schedule.scheduleJob(rule, function() {
  console.log("执行任务");
  getAllDataAndSendMail();
});
github shunwuyu / lesson_md / node / girl-friend / index.js View on Github external
if (error) {
      console.log(error);
      // sendMail(HtmlData); //再次发送
      return false;
    }
    console.log("邮件发送成功", info.messageId);
    console.log("静等下一次发送");
  });
}
//每日发送时间
let EmailHour = 8;
let EmialMinminute= 20;
let rule = new schedule.RecurrenceRule();
// 0, 1, 2, 3, 4, 5, 6
// Sunday, mon, tue, th, f, f s
rule.dayOfWeek = [0, new schedule.Range(1, 6)];
rule.hour = EmailHour;
rule.minute = EmialMinminute;
console.log('NodeMail: 开始等待目标时刻...')
let j = schedule.scheduleJob(rule, function() {
  console.log("执行任务");
  getAllDataAndSendMail();
});
github wenqingyu / wechat-voucher-admin-system / common / schedule.js View on Github external
/**
 *  定时任务
 **/
var schedule = require("node-schedule");
var conf = require('../config.js');
//第一次开启时先跑一遍逻辑
SyncFans();
SyncCard();
SyncShop();

/**
 *  定时拉取粉丝信息(每天6:00)
 **/
var ruleFans = new schedule.RecurrenceRule();
ruleFans.dayOfWeek = [0, new schedule.Range(1, 6)];
ruleFans.hour = 6;
ruleFans.minute = 0;
//var fansTimes = [];
//for (var j = 0; j < 60; j = j + 1) {
//    fansTimes.push(i);
//}
//ruleFans.minute = fansTimes;
var fansJob = schedule.scheduleJob(ruleFans, function () {
    SyncFans();
});

/**
 *  同步粉丝
 **/
function SyncFans() {
github IceInTheFire / timotaoshu / adminApi / core / schedule.js View on Github external
/*
* 规则4  每天凌晨1点和中午13点定时任务
* */
let rule4 = new schedule.RecurrenceRule();
rule4.hour = [1,13];
rule4.minute = 0;   //必填
/*
* 规则5 凌晨3点的定时任务
* */
let rule5 = new schedule.RecurrenceRule();
rule5.hour = 3;
rule5.minute = 0;   //必填
/*
* 规则6 每两个小时一次的定时任务
* */
let rule6 = new schedule.RecurrenceRule();
// rule6.hour = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23];
// rule6.hour = [];
rule6.hour = [0,2,4,6,8,10,12,14,16,18,20,22];
rule6.minute = 0;   //必填
// let i6 = 0, length6 = 12;
// for(i6; i6
github coussej / node-opcua-logger / readpump.js View on Github external
ReadPump.prototype.StartPolling = function(callback) {
    let self = this;

    // install a schedule that triggers every second.
    let schedule = require('node-schedule');
    let rule = new schedule.RecurrenceRule();
    rule.second = new schedule.Range(0, 59, 1);

    self.poller = schedule.scheduleJob(rule, function() {
        let d = new Date();
        let s = d.getSeconds();

        let nodesToRead = self.polledMeasurements.filter(function(m) {
            return s % m.pollInterval === 0
        });

        if (nodesToRead.length > 0) {
            self.ExecuteOPCUAReadRequest(nodesToRead, false, function(err, results) {
                if (err) {
                    callback(err);
                    return;
                }

node-schedule

A cron-like and not-cron-like job scheduler for Node.

MIT
Latest version published 1 year ago

Package Health Score

82 / 100
Full package analysis