savostin
@savostin
Еще один программист

Будет ли правильной такая структура Node.js демона?

В качестве практической разминки при изучении 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); //раз в минуту получить задания
  • Вопрос задан
  • 2662 просмотра
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
1) выйгрыша по производительности/памяти вы не особо получите. Для справки - нода жрет памяти побольше чем пых.
2) посмотрите в сторону очередей (ZeroMQ, RabbutMQ, Resque)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы