1. 程式人生 > >sails.js 使用node-cron模組,監聽訂單狀態併發送訊息到企業微信

sails.js 使用node-cron模組,監聽訂單狀態併發送訊息到企業微信

Extjs介面

設計思路:
1、建立任務時分配一個請求令牌
2、執行任務時,傳送令牌進行驗證,並更新令牌(令牌用一次就失效)
3、驗證通過後,查詢訂單狀態,根據訂單屬性,傳送相應的訊息到企業微信

建立任務

var CronJob = require('cron').CronJob;
var jobname = 'task'+record.id;//自己定義任務名稱
var globals  = this.sails.config.globals;//全域性變數
if(!globals[jobname] || globals[jobname].cronTime.source!=record.請求規則){
    globals[jobname] = new
CronJob(record.請求規則, function() { require('http').get('請求地址?token=令牌',function(req,res){ record.令牌 = require('node-uuid').v1(); record.save(function(err){ if(err){ return next(err); } }); }); }, null, false, 'Asia/Chongqing');//時區
} if(record.狀態==1){ globals[jobname].start(); }else{ globals[jobname].stop(); }

重新整理任務

var globals  = this.sails.config.globals;//全域性變數
tasks.forEach(function (task) {
    if(!globals['task'+task.id]){
        task.狀態 = 0;
        task.令牌 = require('node-uuid').v1();
        task.save(function
(err){
if(err){ return next(err); } }); } });

如果您有任何疑問,歡迎留言