В качестве практической разминки при изучении Node.js решил попробовать переписать свой обработчик данных.
Сейчас реализован на php: по крону один скрипт получает из базы список задач и запускает в background другой php скрипт (сотни) для выполнения задачи (задача состоит с получении данных по http из сотни источников, обработка JSON, вычисления и складывание в базу и файлы). Не нравится огромное количество процессов, ну и по расходу памяти имхо должно полегчать.
К сожалению все примеры в инете реализуют веб-приложение/сервер. У меня же должен быть демон/клиент. Ну разве что какая веб-морда для просмотре статистики/загрузки, но это позже.
Схематично пока у меня так:
var connection = mysql.createConnection(...); // ничего, что соединение одно? в job.start его можно использовать?
var core = setInterval(function() {
connection.query('SELECT job FROM jobs', {}, function(err, res){ // получить работу
res.forEach(function(job){
job.start(); // собственно работа
});
});
}, 60000); //раз в минуту получить задания