我有这段代码:
Meteor.methods({
GetTickerInfo: function(){
Future = Npm.require('fibers/future');
var myFuture = new Future();
kraken.api('Ticker', {"pair": 'ETHXBT'}, function(error, data) {
if(error) {
console.log(error);
}
else {
console.log(data.result);
console.log(data.result.XETHXXBT.a);
myFuture.return(data.result);
}
});
console.log("EHEHEHEHEHHEEH");
console.log(myFuture.wait());
return myFuture.wait();
}
});
它的作用是调用API,获取一些数据,当它完成后,它将数据返回给客户端,这样我就可以在图形中进行可视化。现在它是客户端的MANUAL单击按钮,它调用方法,完成工作并返回数据。
我想安排一个cron来做那件事。因此,每5秒进行一次API调用并将数据返回给客户端(因为我可以将其可视化)。所有的cron作业都使用特定的函数,但我无法访问此函数GetTickerInfo,因为它已定义并且在Meteor.methods的范围内。
我怎么称它为cron作业,但是当我想在给定时刻进行手动刷新时,还会从客户端留下偶尔的Meteor Call?
任何人都可以展示他们如何实现这一点,例如CRON包:percolatestudio/meteor-synced-cron
答案 0 :(得分:2)
你必须超出方法范围,我个人会这样做:
SyncedCron.add({
name: 'GetTickerInfo cron',
schedule: function(parser) {
return parser.text('every 5 seconds');
},
job: function() {
Meteor.call('GetTickerInfo');
}
});
SyncedCron.start()