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

来源:互联网 发布:二手备案域名交易 编辑:程序博客网 时间:2024/06/05 17:44

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


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

原创粉丝点击