我想基于时间执行任务,所以我现在每隔1分钟使用val res: Map[String, (Int, Int)] =
userInfo
.groupBy { case (user, _) => user }
.mapValues { it: Iterable[(String, (Int, Int))] =>
it
.map { case (_, tuple) => tuple }
.reduce[(Int, Int)] { case ((a, b), (c, d)) => (a + c, b + d) }
}
运行但我在控制台中看不到任何内容,不知道实施的是什么错误?
cron.js
node-schedule
答案 0 :(得分:1)
初步想法:
这里有关于cron模式的FART:有6个星号。第一个(可选)对应于秒。您需要省略最后一个星号,以便每分钟运行一次。
你是否曾试图像这样先运行它?它有效吗?
var cron = require('node-schedule');
cron.scheduleJob('*/1 * * * *', function() {
console.log('This runs at the 30th mintue of every hour. FROM NODE SCHEDULE');
});
答案 1 :(得分:0)
运行其他提供相同功能的模块可能会更好。
参见其中一个模块:
以及更多模块:
答案 2 :(得分:0)
我已修改您的代码,从现在起每1分钟运行一次。
var cron = require('node-schedule');
cron.scheduleJob({ rule: '*/59 * * * * *' }, function () {
console.log('This runs at the 30th mintue of every hour. FROM NODE SCHEDULE');
/*
async.eachSeries(directories, function (dir, cb1) {
var dir = __dirname + dir;
console.log('reading', dir);
// get files for the directory
fs.readdir(dir, function (err, files) {
if (err) return cb1(err);
// loop through each file
async.eachSeries(files, function (file, cb2) {
var filePath = path.resolve(dir + '/' + file);
// get info for the file
fs.stat(filePath, function (err, stats) {
if (err) return cb2(err);
var fileInfo = {
fileDate: stats.birthtime,
filename: file
};
console.log('fileInfo', fileInfo);
compareDates(fileInfo, filePath);
cb2(null, fileInfo);
});
}, cb1);
});
});
*/
});
答案 3 :(得分:0)
这里有一些答案,但似乎你的问题仍然没有得到完全回答。我刚刚创建了一个简单的项目,运行代码,它对我有用。 :)
也许您已跳过其中一个步骤:
1)将代码复制到本地javascript文件中。 我将我的名字命名为“index.js”,并在其中放入原始代码片段的简化版本:
var cron = require('node-schedule');
cron.scheduleJob('*/1 * * * * *', function() {
console.log('This runs every second FROM NODE SCHEDULE');
});
2)创建一个用于管理依赖库的package.json文件。
创建此文件的一种简单方法是运行npm init
并按照命令提示符中的交互式问题进行操作。
3)安装node-schedule并将其保存到package.json
您可以通过运行此命令来执行此操作:
npm install node-schedule --save
4)运行您的javascript文件。
我运行了这个命令:
node index.js
此外,这是我运行该文件并将其登录到控制台的视频:
请注意,为了便于说明和测试,我将cron安排为每秒运行一次。为了让它每分钟运行一次,cron表达式将是:
'0 * * * * *'
修改强>
如果要从另一个javascript文件中调用此文件,只需将此节点计划代码包装在您的其他javascript文件可见的函数中。 以下是Es5语法中的示例:
index.js
var cron = require('node-schedule');
module.exports = function beginCron() {
cron.scheduleJob('*/1 * * * * *', function () {
console.log('This runs every second FROM NODE SCHEDULE');
});
};
app.js
var beginCron = require('./index.js');
beginCron();
然后我们可以运行app.js并看到它开始执行cron执行:node app.js
。