Reputation: 22264
I'm hosting a small pet-project Ruby on Rails application and I have a small feature:
I want to send an email to every person who bid in an auction every time they are outbid.
If 10 people bid on an item, you can imagine how this will scale if I were to just send the emails willy-nilly from my RoR application.
What do I need to use for this scenario if I want to queue up emails that need to be sent? Since this is hosted on a DigitalOcean VPN ease of installation and configuration is a must for me, as well as a great RoR integration.
Any suggestions on what I need to look for?
Upvotes: 0
Views: 206
Reputation: 3406
For the Emails services you might consider, I think this is pretty good price comparison: CLOUD EMAIL SERVICE PRICE COMPARISON, so the services which are pretty mature and easy to integration(you can find the gem in github) is following four: Sendgrid, Postmark, Amazon SES, Mailgun.
Amazon SES provide a very basic email sending solution, but other services like Mailgun provide extra services like mail list or campaign etc.
Cause the sending mail might be a time consuming task, so you can use delayed job(queue service gem) to delay the mail sending, now the most popular one should be Sidekiq, other available options are Resque, delayed_job. Sidekiq and Resque need Redis installed(it need to serialize the jobs into Redis), the delayed_job can just serialize the jobs into the database.(If you just need a very simple delayed job processing, you can choose delayed_job).
So the simplest combination for now can be Amazon SES(https://aws.amazon.com/ses/) + delayed_job(https://github.com/tobi/delayed_job).
Good luck!
Upvotes: 1