Очередь заданий в node.js - PullRequest
       55

Очередь заданий в node.js

5 голосов
/ 12 сентября 2011

Я ищу менеджера очереди заданий в файле node.js, который может быть вызван php. Это для веб-приложения, которому нужно отправлять электронные письма, создавать PDF-файлы и т. Д., Которое я хотел бы выполнять асинхронно с процессом php.

Пример процесса:

  1. Пользователь запрашивает страницу php
  2. Php вызывает диспетчер очереди заданий и добавляет задачу
  3. Задача выполняется в node.js асинхронно с php, предпочтительно, когда она немного тише
  4. Задача - выполнить скрипт php

Почему эта "сложная" система?

  1. Мы пишем все наши веб-приложения на php (Zend Framework)
  2. Мы бы хотели начать изучение node.js
  3. Нам нужен асинхронный процесс (быстрый ответ!)
  4. «Настоящей» задачей также должен быть php-скрипт, чтобы использовать уже написанные php-классы, иметь легкий доступ к соединениям с базой данных и максимально использовать DRY

Варианты использования этой системы:

  1. Пользователь регистрируется сам, система отправит приветственное письмо
  2. Пользователь выполняет заказ электронной коммерции, система отправит счет

В конце мы также хотели бы использовать node-cron для выполнения несистемных задач cron (очень специфично для приложения). Node-cron вызовет менеджер очередей заданий, который впоследствии запустит скрипт php.

Есть ли такое приложение уже в узле?

Ответы [ 2 ]

2 голосов
/ 12 сентября 2011

В таком случае я бы предпочел очередь сообщений, такую ​​как RabbitMQ , и библиотеки на стороне клиента, такие как node-amqp и php-amqp .Затем просто отправьте свою работу из своего PHP-скрипта в очередь и позвольте nodejs забрать работу из очереди.Большим преимуществом является то, что он расширяемый и широко используется и тестируется на корпоративном рынке.

0 голосов
/ 12 сентября 2011

Один из возможных вариантов: node-jobs , который использует Redis.

...