Merci pour vos réponses, Le mardi 08 septembre 2009 à 17:02 +0200, Lionel Bouton a écrit : > Les détails de prefetch limit m'échappent, mais dans ce qui me semble > être la même veine, Stompserver distribue tous les messages aux clients > sans attendre de ack. Ce comportement est modifié lorsqu'un client > s'inscrit avec :ack => 'client'. Dans ce dernier cas Stompserver attend > un accusé de réception du client avant de passer au message suivant.
Voici un exemple pour vous permettre de comprendre mon besoin (constat issu de tests précédemment effectués) : J'ai un processeur activemessaging avec 3 pollers inscrits avec acquittement client (:ack => 'client'). Ces pollers exécutent des tâches longues (plusieurs minutes voir plusieurs heures). Un premier message arrive et son exécution monopolise l'un des pollers qui ne renverra son ack au broker qu'a la fin du traitement. Le 1ere poller étant occupé, un second message arrive. Du fait de l'attente ack, le processeur dirige l'exécution de ce second message vers le 2eme poller qui à son tour ne renverra un ack qu'à la fin du traitement. Le même scénario se produit pour le 3eme poller et tous les pollers sont ainsi occupés. Si un 4eme message arrive avant que l'un des pollers soit à nouveau disponible, le message est perdu, le processeur renvoyant simplement un message d'erreur au broker. La solution serait il me semble de limiter le nombre de message à destination du processeur (prefetch limit), soit 3 dans le cas présent, correspondant au nombre de pollers du processeur. Dans ce cas, si un 4eme message arrive au broker (celui-ci ayant comptabilisé le nombre de messages précédemment envoyés au processeur) attend simplement que l'un des pollers du processeur ce libère. Aucun message n'est perdu. La prefetch limit complète l'utilisation de l'ack 'client'. Pour plus d'info sur la prefetch limit d'activeMQ : http://activemq.apache.org/what-is-the-prefetch-limit-for.html Pour le moment, je comptabilise les tâches en cours d'execution par mes pollers dans la db avec une limite haute fixée au nombre de pollers. Le mardi 08 septembre 2009 à 17:26 +0200, Cyril Mougel a écrit : > Moi j'utilise nanite \o/ je vais regarder nanite de plus près. Cdt, Jérémy. --~--~---------~--~----~------------~-------~--~----~ Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected] -~----------~----~----~----~------~----~------~--~---
