【发布时间】:2017-05-04 20:55:44
【问题描述】:
我想使用带有 nodejs 的议程安排一个简单的任务,但是当它被包装在 apiRoutes(快速路由器)中时它没有执行
var apiRoutes = express.Router();
app.use('/api', apiRoutes);
apiRoutes.post('/scheduler/submit', function (req, res) {
agenda.define('test', function () {
console.log('Test');
});
agenda.on('ready', function () {
agenda.every('*/1 * * * *', 'test');
agenda.start();
});
});
但如果我将该代码放在外面,它仍然可以工作。嗯,有什么想法吗?
var apiRoutes = express.Router();
app.use('/api', apiRoutes);
agenda.define('test', function () {
console.log('Test');
});
agenda.on('ready', function () {
agenda.every('*/1 * * * *', 'test');
agenda.start();
});
apiRoutes.post('/scheduler/submit', function (req, res) {
// Leave blank
});
【问题讨论】:
-
您希望
agenda对象永远运行该代码还是只在发出请求时运行一次? -
只有 1 次发出请求。可能吗?我在请求中尝试了 console.log 议程,它正确打印议程数据库对象,但它没有执行。
-
它应该是。我有一种预感,它涉及
.on函数,但我正在查看他们的源代码以确认。 -
好的。一旦你得到答案,别忘了更新
标签: javascript node.js cron agenda