Reputation: 969
I have a rails app with actionmailer that sends reminders to customers. So I want to have emails sent at specific datetimes. How can I do that, or any action from the controller?
Upvotes: 7
Views: 5667
Reputation: 34336
You can achieve this goal by using some kind of background tasks like resque or delayed_job for example.
Also, gems like whenever (Cron jobs in Ruby) would help you get there!
Take a look at this tutorial which shows sending emails with a Background Processor through Active Job and delayed_job
To send emails at specific date time, you could use deliver_later with the wait_until
option.
Notifier.welcome(User.first).deliver_later(wait_until: 10.hours.from_now)
Upvotes: 12