我正在尝试在我的应用程序中使用Backburner(Beanstalkd的 Ruby 客户端)来创建,比如说,50 个工作人员都在看同一个管道来处理即将到来的工作。问题是,这 50 名工作人员中的每一个在执行工作时都会进行一些繁重的文件操作等,并且他们每个人都需要对唯一命名的编号目录执行一些操作。例如,worker 7 需要使用名为 dir7 的目录。
最初我认为我可以创建一个ThreadsOnFork
具有 50 个线程的工作线程,并且我可以从工作线程的 perform() 方法访问与每个线程关联的数字,但我还不能做到这一点。
如何使用 Backburner 处理这种情况?或者,如果 Backburner 无法使用其他 Ruby beanstalkd 客户端?我希望我的问题足够清楚。谢谢。