在Ruby中,实践是在worker中发送id而不是object。不是那种CPU消耗过程,因为我们必须从数据库中再次检索Object。
答案 0 :(得分:4)
有几个原因:
节省队列空间,同时转移时间(app => queue,queue => workers)。
通常从数据库中获取新对象更容易(而不是从队列中检索缓存副本)
Resque.enqueue
的参数必须是JSON可序列化的。复杂对象并不总是可以序列化。
答案 1 :(得分:0)
如果你仔细想想,原因很明显:
但最终它取决于您的应用程序,如果您只需要一些信息,您可以直接将它们发送给您的工作人员,而无需使用完整的模型。