ruby-on-rails-3 – 将对象传递给Resque作业是否安全?

将对象传递给Resque作业是否安全?例如:
Resque.enqueue(Foobar,@foo,@bar)

代替:

Resque.enqueue(Foobar,@foo.id,@bar.id)

如果我传递对象的任何缺点?

解决方法

Resque github页面说(https://github.com/defunkt/resque)

… your jobs must only accept arguments that can be JSON encoded.

此外,还有一个应该考虑的效果:传递的对象被复制.比方说,它是数据库中的记录.如果以后,当作业执行时,该对象在数据库中被更改,作业将不会注意到,它将在自己的副本上运行.根据您的要求,这可能是期望的行为,或者可能不是.

如果您传递该对象的id,则可以在作业中检索它的最新版本.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...