Pergunta

Scenario:

In a web-application some parts are realized in PHP and some other in node.js. Communication between PHP and node.js should be realized via an asynchronous queue/worker system.

In the PHP part of the application API requests should be queued. In the node.js part queued API requests should be processed (worker). Results should be saved back to the queue. Later the results should be retrieved using PHP. The queue should support retry strategies and support notification (to the client) on completed requests.

Question:

I do not want to realize the queue on my own. The work queue itself should not run in PHP, because i do not want long running PHP processes.

I found the work queues

  • beanstalkd
  • resque
  • celery
  • rabbitmq

Are they suitable for this scenario? Resque looks great. However can a PHP client work together with a Ruby queue? Has anybody experience with something similar? Can worker write back results to the working queue? Can clients be notified on results?

Foi útil?

Solução

after doing a lot of research i am using rabbitmq.

there are "official" client libraries for multiple plattforms out there. thus subsystems running on different plattforms can work together quite simple.

there are php forks of resque out there. but i do like it the rabbitmq way. one message broker, good documentation, "official" client libraries.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top