2015-03-04 2 views
0

Это мой сценарий:Запуск фоновых задач в Meteor.js

1. Scrape some data every X minutes from example.com 
2. Insert it to Mongodb database 
3. Subscribe for this data in Meteor App. 

Потому что, в настоящее время я не очень хорошо Метеор это то, что я собираюсь сделать:

1. Write scraper script for example.com in Python or PHP. 
2. Run script every X minutes with cronjob. 
3. Insert it to Mongodb. 

Является ли это возможно сделать это полностью с помощью Meteor без использования Python или PHP? Как я могу обрабатывать задачу, выполняемую каждые X минут?

ответ

4

Есть такие системы, как Cron, такие как percolate:synced-cron для Meteor. Там, вы можете зарегистрировать работу, используя Later.js синтаксис, похожего на этот пример, взятый из перколята: синхронизируются-хроны риого файл:

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; 
    } 
}); 

Если вы хотите, чтобы полагаться на работе уровня ОС хрон, вы могли бы просто предоставить HTTP- конечной точки в приложении Meteor.js that you could then access through curl at the chosen time.

+0

SyncedCron работает как шарм, очень рекомендуется. –

Смежные вопросы