Rails, как доставить динамическую почту в зависимости от статуса пользователя после истечения сеанса
Так что у меня есть сайт, похожий на сайт электронной коммерции. Я хочу отправить электронное письмо пользователю после истечения сеанса (предпочтительно через 30 минут после истечения срока действия), с динамическим контентом - относительно его статуса, то есть, если у него есть товары в корзине, если они не заплатили или если платеж Был успешен.
Итак, здесь есть три вопроса?
- Каковы разные способы достижения этого?
- Можно ли запустить раздел кода после 30 минут истечения сеанса?
- Можно ли поставить оператор if-else для доставки почты в зависимости от статуса пользователя?
В настоящее время я использую Rails 5.0.0 и sendgrid для отправки электронных писем. Sendgrid имеет такие коды, как Mail.deliver_after(30 минут). Но я не могу поставить условие if else, чтобы сделать содержимое письма динамичным. Кроме того, я хочу отправить электронное письмо через 30 минут после окончания сеанса.
1 ответ
Каковы разные способы достижения этого?
- Using background job. Create asynchronous jobs with run time and priority.
Можно ли запустить раздел кода после 30 минут истечения сеанса?
- Use delayed_job gem or use some other background job gems. Using asynchronously
Можно ли поставить оператор if-else для доставки почты в зависимости от статуса пользователя?
- Called mail delivery using background job so you can send mail whenever you want.