我有点困惑,因为我没有设置任何工人(在Heroku上)和我做的时候 Resque.enqueue将作业添加到队列中(但未完成)所以我假设主线程生成了队列。
由于我正在使用Redis To Go,这不会失败使用像Resque这样的后台进程的目的,因为Redis To Go本身就是一个外部托管数据库,因此主线程的初始写入过程将作业添加到队列可能无法预测?
答案 0 :(得分:2)
调用Resque.enqueue
时会发生什么情况,Resque连接到Redis数据库,并添加稍后调用作业所需的信息。然后,工作人员连接到Redis,弹出第一个添加的作业,执行该操作,然后重复。
所以是的,“主”线程确实连接到Redis。事实上,它是一个外部数据库并不重要。我的意思是,对于使用Mongo数据库插件的人来说,Mongo数据库也是外部托管的。我们的想法是,您要执行的作业所需的时间比将其添加到Redis所需的时间要长。