0
我試圖爲通道,我主動上建幾個鬆弛鉤/通知服務,作爲
便宜溜冰
金融精明的人說我想,我想利用免費服務(跟蹤Heroku帳戶或類似產品),因此我希望能夠在單個實例上運行多個服務。
我已經創建了一個通用的runner,它應該基於一個配置,並能夠獲取一些節點模塊併爲它們提供配置設置。
我使用以下node_modules:
「自動加載」: 「^ 0.2.0」, 「節點的cron」: 「^ 1.2.0」, 「讀YAML 「: 「^ 1.1.0」
config.yml
foo:
cron: 1 * * * *
url: http://www.foo.com
team:
-
slackId: bar
bnetId: 1
eloId: 1
-
slackId: baz
bnetId: 2
eloId: 2
app.js
const autoLoader = require('auto-loader');
const readYaml = require('read-yaml');
const cron = require('node-cron');
const services = autoLoader.load(__dirname +'/services')
readYaml('config.yml', function(err, conf) {
if (err) throw err;
Object.keys(conf).forEach(function (key) {
console.log('Creating CRON for ' + key);
if(cron.validate(conf[key].cron)) {
console.log(conf[key].cron, '-> is valid cron');
// the cron task below does not seem to fire ever
cron.schedule(conf[key].cron, function(){
services[key](conf[key]);
});
} else {
console.log('Cron invalid for::' + key)
}
});
});
服務/ foo.js
module.exports = function (config) {
console.log('foo entered!!');
console.log(config)
}
問:
我缺少什麼?如果我刪除了cron時間表,我的假設如下:
要麼我在概念上忽略了一些關於運行進程在NodeJS中工作的時間(因爲這是我的第一個) ,或者我錯過了一個超級(不明顯)給我的bug。
如何使用不同的預定代碼段/任務在NodeJS中創建長時間運行的任務/進程?