2009-01-25 10 views

Répondre

0

Nous délestant des tâches longues, email non seulement, mais aussi quelques transmettons d'autres choses en utilisant Workling et Starling (voir le Railscast sur la façon d'utiliser). Il existe également des alternatives, Github is usingdelayed_job.

1

En plus des autres réponses que je voulais juste ajouter:

ar_mailer pourrait travailler pour envoyer un « lot » d'e-mails, mais si vous envoyez beaucoup beaucoup d'e-mails (je pense quelque chose comme Aweber ici, ou CampaignMonitor, où il pourrait y avoir des centaines de milliers par heure) Je ne suis pas sûr si ar_mailer est idéal. La raison en est qu'il ajoute un enregistrement séparé à la base de données pour CHAQUE email. Imaginez que vous êtes Aweber et qu'un client envoie un courriel à sa liste de 10 000 personnes. Vous venez de créer 10 000 objets d'enregistrement actifs et en enregistrer tous les 10 000 dans la base de données. Ceci est coûteux avec les validations et les rappels, etc. Imaginez maintenant que vous avez 100 clients avec des listes de 10 000 personnes envoyant tous des emails à cette heure-là. Votre DB aura de la peine, à moins que vous ne puissiez éliminer les validations/rappels, etc. et passer aux appels de DB de niveau inférieur. Une autre option consisterait simplement à passer toutes les files d'attente à Postfix ou quelque chose comme ça. Si Postfix est mort d'une manière ou d'une autre au milieu de la file d'attente, vous n'auriez probablement aucun moyen de le déterminer depuis l'intérieur de votre application rails, donc il est découplé à ce moment-là, mais probablement beaucoup plus efficace. Je n'ai pas essayé tout ce btw, je pensais juste à voix haute.

Questions connexes