6

有没有办法在 Resque-workers 中将对象作为参数值传递。

我想做这样的事情,Resque.enqueue(SomeWorker, obj)而不是Resque.enqueue(SomeWorker, id)我的对象是没有 id 的不同类型。

感谢任何帮助。

4

1 回答 1

12

作为最佳实践,您永远不应该将真实对象传递给工作人员。

这个想法是您将最少的信息传递给您的工作人员,最好是一个 id,以便工作人员可以自己检索其余信息。

由于数据保存在 redis 中,因此您实际上需要在排队时以某种方式对对象进行编组,然后在工作人员检索数据时对其进行解组。

如果您的对象只是保存一些数据,您应该考虑将其作为哈希传递,因为它们很容易在 redis 中持久化。

于 2012-01-25T15:14:54.457 回答