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. 
Другие вопросы по тегам