我应该存储什么来识别NodeJS中的间隔

时间:2016-01-07 11:32:08

标签: javascript node.js setinterval

我在NodeJS中遇到setInterval和clearInterval的问题。我想为网站创建一个监控服务。我计划实现一个Web服务,它获取监视间隔的URL和值,并调用setInterval()方法。到目前为止一切都还可以。

之后,我想将URL,间隔和setInterval对象的标识符保存到DB以供将来操作。但是只有setInterval方法的标识符才是对象。我无法将此对象存储在服务器端的数组中,因为当我重新启动项目时,所有对象都会消失。

有没有人对此案有任何适当的解决方案?您可以在下面看到我的示例代码。

var timeout = (parseInt(req.body.timeout) * (60 * 1000));
var query = {
    website: req.body.website,
    timeout: timeout
}
var id = setInterval(checker(query), timeout); // This returns an object so it can not be stored in DB.
query.id = id;
console.log(id);
store.save('websites', query).then(function(query) {
    res.send({
        code: 200,
        message: 'SUCCESS',
        data: query
    });
}).fail(function(err) {
    res.send({
        code: 500,
        message: 'FAIL_SYSTEM',
        data: err
    });
})

1 个答案:

答案 0 :(得分:0)

如果你想要持久的重复性任务,你应该使用除setInterval以外的其他东西。

查看agenda

等库