J'ai donc une méthode qui est exécutée toutes les 10 minutes (Background.cron) pour être exact.
Background.cron parcourt en boucle un ensemble de lignes de la base de données et, si certains critères sont remplis, une méthode ActionMailer est exécutée pour envoyer un courrier électronique.
Mais ce qui semble se produire (d'après mes journaux), c'est que lorsque la méthode ActionMailer est exécutée, la méthode Background.cron s'arrête jusqu'à ce que le prochain travail cron soit prêt à démarrer.
Comment cela peut-il s'expliquer ?
Le serveur est Apache 2 avec Passenger et Ruby Enterprise Edition.
PassengerMaxPoolSize est fixé à 10 et PassengerMaxInstancesPerApp à 5.
J'ai une tranche de 512MB sur Slicehost.