1

我们这里有 3 个 resque 工作人员,负责处理和转换一些数据。现在,我需要向向我发送数据的人发送回复。如何发送回复?resque 是否有异步方式向客户端发送响应?

4

1 回答 1

1

Resque 不能(也从未设计为)这样做,但是,您可以使用 redis 或您的数据库作为通信机制。我们实际上是在处理长时间运行的任务时这样做的。例如,在将作业排入队列时,只需在 redis 中创建一个新键,并将该键与作业参数一起传递。随着作业的进行,它可能会更新 redis 中的该键。将这项工作排入队列的人只需要查看该 redis 密钥的更改即可。

如果轮询有问题,也有更有效的“推送”类型的解决方案(例如向应用程序中的控制器或套接字发送 HTTP 通知),尽管只有 3 个工作人员听起来不应该如此。

于 2012-05-22T13:03:13.973 回答