簡體   English   中英

流星-服務器端API調用,每分鍾插入到mongodb中

[英]Meteor - Server-side API call and insert into mongodb every minute

我正在學習Meteor,同時嘗試使用TwitchTV API。

我現在的目標是每分鍾調用TwitchAPI,然后將json對象的一部分插入mongo數據庫。 由於MongoDB在_id匹配並且Twitch使用_id作為其鍵,因此我希望后續插入將更新現有記錄,或者如果_id不存在則創建一個新記錄。

調用和插入(至少是最初的調用)似乎工作正常。 但是,我似乎無法使Meteor.setTimeout()函數正常工作。 我啟動應用程序時會發生通話,但不會每分鍾持續發生一次。

這是我在.js 我的服務器文件夾中的文件:

Meteor.methods({
    getStreams: function() {
        this.unblock();
        var url = 'https://api.twitch.tv/kraken/streams?limit=3';
        return Meteor.http.get(url);
    },
    saveStreams: function() {
        Meteor.call('getStreams', function(err, res) {
            var data = res.data;

            Test.insert(data);
        }
    }
});

Deps.autorun(function(){
    Meteor.setTimeout(function(){Meteor.call('saveStreams');}, 1000);
});

任何幫助或建議,不勝感激。

我進行了@richsilv和@saimeunt提到的更改,並且它起作用了。 結果代碼:

Meteor.startup(function(){
    Meteor.setInterval(function(){Meteor.call('saveStreams');}, 1000);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM