Ruby on rails 使用Resque,如果对象不是';的,如何将不可JSON序列化的对象传递给作业;你的数据库里有什么?

Ruby on rails 使用Resque,如果对象不是';的,如何将不可JSON序列化的对象传递给作业;你的数据库里有什么?,ruby-on-rails,ruby,resque,Ruby On Rails,Ruby,Resque,我正在一个作业中创建IMAP对象,需要在Resque中将其传递给其他作业。传递IMAP对象的最佳方式是什么,因为它不可序列化?无法将其直接传递到Resque。但是,您可以设置另一个持久性机制来存储对象,直到工作者执行作业为止 您可以很容易地在Ruby/Rails中设置memcached存储,并将字符串键传递给作业。当作业执行时,它将从memcached反序列化并使密钥过期 这并不是一种推荐的方法(因为缓存通常不保证对象在访问之前一直存在),但如果您对Resque和IMAP序列化有严格的依赖关系,

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

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

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


这并不是一种推荐的方法(因为缓存通常不保证对象在访问之前一直存在),但如果您对Resque和IMAP序列化有严格的依赖关系,那么它可能是一种解决方案。

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


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

也许我可以创建另一个IMAP连接,因为我在数据库中有凭据。我对IMAP了解不够。我正在尝试将IMAP IDLE作为rails应用程序的后台进程来实现,事实证明这很困难带DJ和/或Resque的ult