Un jour, une gem

06/07/2012

Vendredi c'est work_queue

gem install work_queue

Et si on faisait du multi-thread ?

Rien de plus simple avec cette gem ! Ça fonctionne comme ceci :

require 'rubygems'
require 'work_queue'

# Deux arguments possibles : nombre de thread simultanés, limite de thread en file d'attente 
# ou nil pour pas de limite :)
wq = WorkQueue.new 5

(1..666).each do |number|
  wq.enqueue_b do
    # on met quelque chose dans la file d'attente
  end
end

wq.join

Voilà rapide et testé en production sur un très très très gros serveur :)

Ça sera tout pour aujourd’hui !

Le lien utile

Sur une idée de @ghis33