使用Resque,如果它们不在您的数据库中,如何将非JSON序列化的对象传递给作业?

时间:2011-03-18 22:02:53

标签: ruby-on-rails ruby resque

我在一个作业中创建一个IMAP对象,需要将它传递给Resque中的其他作业。传递IMAP对象的最佳方法是什么,因为它不可序列化?

2 个答案:

答案 0 :(得分:1)

无法直接将其传递给Resque。但是,您可以设置另一个持久性机制来存储该对象,直到该worker执行该作业。

您可以在Ruby / Rails中轻松设置memcached存储,并将字符串键传递给作业。当作业执行时,它将从memcached反序列化并使密钥到期。

并不是一种推荐的做事方式(因为缓存通常不能保证Object在访问之前保持不变),但如果你对Resque和IMAP序列化有很强的依赖性,那么它就可以成为一种解决方案。

答案 1 :(得分:0)

由于TCP连接的继承性(跟踪客户端,服务器,时间等),无法缓存/序列化.NET对象。

有没有什么方法可以提取和序列化该对象中的数据并将其发送到其他作业?