Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 将对象作为参数传递到Resque Worker中_Ruby_Ruby On Rails 3_Resque_Worker - Fatal编程技术网

Ruby 将对象作为参数传递到Resque Worker中

Ruby 将对象作为参数传递到Resque Worker中,ruby,ruby-on-rails-3,resque,worker,Ruby,Ruby On Rails 3,Resque,Worker,是否有一种方法可以将对象作为参数值传递给Resque workers 我想这样做Resque.enqueue(SomeWorker,obj)而不是Resque.enqueue(SomeWorker,id)我的对象是不同类型的,没有id 谢谢你的帮助 作为最佳实践,您不应该将真实对象传递给工作人员 这样做的目的是,您向工作人员传递最少的信息(理想情况下是一个id),以便工作人员可以自己检索其余的信息 因为数据是在redis中持久化的,所以实际上您需要在排队时以某种方式封送对象,然后在工作人员检索数

是否有一种方法可以将对象作为参数值传递给Resque workers

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


谢谢你的帮助

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

这样做的目的是,您向工作人员传递最少的信息(理想情况下是一个id),以便工作人员可以自己检索其余的信息

因为数据是在redis中持久化的,所以实际上您需要在排队时以某种方式封送对象,然后在工作人员检索数据时取消封送对象

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