这次主要对于之前的定时功能的bug进行修复,之前定时功能只能定时一次,之后就无法切换了
代码地址:https://github.com/klren0312/stm32_wifi/blob/master/Nodejs_Server/autofoodv3beta.js
2017.9.17
第四次增补
1.node-schedule
文档已经翻译了,可以查看:http://www.jianshu.com/p/f787593071e1
2.操作
1)定时轮询数据库,如果定时发生变化,先将原来定时cancel掉,然后更改定时
var flag,j;
var c = schedule.scheduleJob('40 * * * * *', function() {
conn.query('select * from autofood', function(err, rows, fields) {
var i = rows.length;
var tem = rows[i - 1].type;
console.log("flag:" + flag);
if (tem !== flag) {
j.cancel() //删除原来定时
theSelect(tem) //进行新的定时
}
})
})
2)我将switch放到了theSelect
函数中,接受一个参数,为定时类型
function theSelect(x) {
switch (x) {
case 1:
flag = 1
console.log("type1");
j = schedule.scheduleJob('12 * * * ', function() {
var post = { status: 1 };
conn.query('INSERT INTO status SET ?', post, function(error, result, fields) {
if (error) throw error;
});
});
break;
.....
default:
console.log("error");
break;
}
}
@治电小白菜20170917