sails.js 使用node-cron模块,监听订单状态并发送消息到企业微信

Extjs界面


设计思路:
1、创建任务时分配一个请求令牌
2、执行任务时,发送令牌进行验证,并更新令牌(令牌用一次就失效)
3、验证通过后,查询订单状态,根据订单属性,发送相应的消息到企业微信


cron模块地址 https://github.com/ncb000gt/node-cron


创建任务

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); }
        });
    }
});

企业微信的消息接口使用PHP来写,网上有相应的类库
参考:https://github.com/whh306318848/PHPToQyWeixin


如果您有任何疑问,欢迎留言

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值