03-11-2011, 12:33 AM
(Modification du message : 03-11-2011, 12:34 AM par Sephi-Chan.)
Il y a 2 choses : le queueing et le queueing + scheduling.
Avec Resque et Resque Scheduler, tu peux faire plusieurs choses :
À côté de ça, la classe ResolveAttackJob aura cette tronche :
Normalement tu as de quoi couvrir tes besoins.
Avec Resque et Resque Scheduler, tu peux faire plusieurs choses :
# Le job est empilé sur le champ (et sera probablement dépilé dans la foulée, à moins que tes workers ne soient chargés).
Resque.enqueue(ResolveAttackJob, attacker.id, target.id)
# Sera empilé sur la queue à la date prévue (ici, maintenant + 2 heures).
Resque.enqueue_at(2.hours.from_now, ResolveAttackJob, attacker.id, target.id)
# Sucre syntaxique, le résultat sera le même que le précédent appel.
Resque.enqueue_in(2.hours, ResolveAttackJob, attacker.id, target.id)
À côté de ça, la classe ResolveAttackJob aura cette tronche :
class ResolveAttackJob
@queue = :attacks
def self.perform(attacker_id, target_id)
# ...
end
end
Normalement tu as de quoi couvrir tes besoins.