Beanstalkdキューから一度に複数のジョブを予約する方法はありますか?
クエリごとに最大10件の結果を返すことができる外部APIにリクエストを送信しています。それらは私が毎日行うことができるリクエストの数を制限するので、リクエストごとに得られる結果が多いほど良いです。
ドキュメントでこの機能についての言及が見つからなかったため、この回避策を使用しています。誰かがこれを達成するためのより良い方法を知っていますか?または、おそらくbeanstalkdよりも仕事に適したツールですか?
loop do
sleep(0.3)
while @beanstalk.tubes[example].peek(:ready)
jobs = []
catch(:done) do
10.times do |i|
if @beanstalk.tubes[example].peek(:ready) then
job = @beanstalk.tubes[example].reserve(0)
jobs << job.body
job.delete
else
throw(:done)
end
end
end
process(jobs)
end
end