2015-08-03 3 views
1

Я пытаюсь заставить Meteor отслеживать передачу JSON спортивных данных в режиме реального времени. Я знаю, как использовать пакет HTTP для вызова и разбора ответа на сервере Meteor, но мне любопытно, как лучше всего оставаться в курсе the feed.Вытягивание частых данных JSON из API с помощью Meteor

Должен ли я установить петлю, которая тянет и анализирует канал через равные промежутки времени? Есть ли более элегантное решение?

+0

Как часто и часто? – GPicazo

+0

Хороший вопрос - секунды не критичны, но минутная задержка слишком велика. Я думаю, что я буду использовать очень короткую интернатуру или брошу отдельную услугу, которая сбрасывается в экземпляр Mongo Meteor. –

+0

Я также рекомендую решение, отправленное @FullStack, если данные действительно действительно должны синхронизироваться с удаленными данными в любое время. Если это нужно только для этого клиента, возможно, вы могли бы сделать это с регулярными интервалами (<1 минута) сервером (Meteor.isServer), когда клиенты подключены, и более длинными интервалами, когда клиент не подключен, чтобы избежать часто извлекать данные, когда никто не использует их. – GPicazo

ответ

3

Я думаю, вам следует запланировать работу cron каждые 5 минут или что-то в этом роде. Отъезд this great package для планирования работы cron в Метеор. Ниже приведен пример. Это так же просто, как вызов функции.

SyncedCron.add({ 
    name: 'Crunch some important numbers for the marketing department', 
    schedule: function(parser) { 
    // parser is a later.parse object 
    return parser.text('every 2 hours'); 
    }, 
    job: function() { 
    var numbersCrunched = CrushSomeNumbers(); 
    return numbersCrunched; 
    } 
}); 
+0

SyncedCron - это бомба. –