Resque队列是由主线程还是工作者创建的?

时间:2011-07-09 16:40:49

标签: ruby-on-rails ruby-on-rails-3 heroku redis resque

我有点困惑,因为我没有设置任何工人(在Heroku上)和我做的时候 Resque.enqueue将作业添加到队列中(但未完成)所以我假设主线程生成了队列。

由于我正在使用Redis To Go,这不会失败使用像Resque这样的后台进程的目的,因为Redis To Go本身就是一个外部托管数据库,因此主线程的初始写入过程将作业添加到队列可能无法预测?

1 个答案:

答案 0 :(得分:2)

调用Resque.enqueue时会发生什么情况,Resque连接到Redis数据库,并添加稍后调用作业所需的信息。然后,工作人员连接到Redis,弹出第一个添加的作业,执行该操作,然后重复。

所以是的,“主”线程确实连接到Redis。事实上,它是一个外部数据库并不重要。我的意思是,对于使用Mongo数据库插件的人来说,Mongo数据库也是外部托管的。我们的想法是,您要执行的作业所需的时间比将其添加到Redis所需的时间要长。