私はBraintree
という2つのサブスクリプションプランを持っています.1つは6ヶ月プラン、もう1つは通年プランです。どちらのプランもidsを持っています。私はAPIを使って実装を行ったので、データは最後に保存されます。Rails:特定の時刻にメールを送信
サブスクリプションの期限が切れる前にx日以内にユーザーに電子メール通知を送信したいと考えています。
Braintree
サポートチームは、1つの請求サイクルが残っていると、サブスクリプションを見つけるために私に次のコードを与えた:
search_results = Braintree::Subscription.search do |search|
search.billing_cycles_remaining <= 1
end
私は一種のスタックどのように毎日、上記のコードを確認する方法についてです電子メール通知を実装する... rake test
を使用してメールを送信するか、delayed_jobs
を送信する必要がありますか? これを実装する別の方法がありますか? と私はどのように上記のコードを完成させることができますか?
これを行うには、いくつかの方法があります。答えに時計の宝石を指摘したように。 (http://guides.rubyonrails.org/active_job_basics.html#creating-a-job)、または「請求処理」プロセスを実行するcrontabジョブを作成してください(https://www.cyberciti.biz/faq/how- linux-or-unix-oses /) –
'sidekiq'と' redis'を使うと、キューにメールを積み重ねて、特定の時刻にそれらを送ることができます –
あなたがバックエンドの仕事を望んでいないと仮定してセットアップがとても簡単な 'rufus-scheduler'があります - https://richonrails.com/articles/background-tasks-with-rufus-scheduler - 日付を動的に指定することができます。 – arjun