5

我正在寻找可以由 php 调用的 node.js 中的作业队列管理器。这适用于需要发送电子邮件、创建 pdf 文件等的 web 应用程序,我想执行 php 进程的异步操作。

流程示例:

  1. 用户请求一个 php 页面
  2. php调用作业队列管理器并添加一个任务
  3. 任务在 node.js 中与 php 异步执行,最好是在它更安静的时候
  4. 任务是执行一个php脚本

为什么会有这个“复杂”的系统?

  1. 我们用 php(Zend 框架)编写所有的 Web 应用程序
  2. 我们想开始学习 node.js
  3. 我们需要一个异步进程(快速响应!)
  4. “真正的”任务也应该是一个 php 脚本,以利用已编写的 php 类,轻松访问数据库连接并尽可能 DRY

该系统的用例:

  1. 用户自行注册,系统将发送欢迎邮件
  2. 用户完成电子商务订单,系统将发送发票

最后,我们还想使用 node-cron 来执行非系统范围的 cron 任务(非常特定于应用程序)。Node-cron 将调用作业队列管理器,该管理器随后将运行一个 php 脚本。

节点中是否已经有这样的应用程序?

4

2 回答 2

2

在这种情况下,我更喜欢像RabbitMQ这样的消息队列和像node-amqpphp-amqp这样的客户端库。然后只需从队列中的 PHP 脚本发送您的作业,并让 nodejs 从队列中获取作业。一个很大的优势是它是可扩展的,并且在企业市场中被广泛使用和测试。

于 2011-09-12T12:10:10.990 回答
0

一种可能的选择是node-jobs,它使用 Redis。

于 2011-09-12T06:59:20.237 回答