2017-10-13 12 views
0

私は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を送信する必要がありますか? これを実装する別の方法がありますか? と私はどのように上記のコードを完成させることができますか?

+0

これを行うには、いくつかの方法があります。答えに時計の宝石を指摘したように。 (http://guides.rubyonrails.org/active_job_basics.html#creating-a-job)、または「請求処理」プロセスを実行するcrontabジョブを作成してください(https://www.cyberciti.biz/faq/how- linux-or-unix-oses /) –

+0

'sidekiq'と' redis'を使うと、キューにメールを積み重ねて、特定の時刻にそれらを送ることができます –

+0

あなたがバックエンドの仕事を望んでいないと仮定してセットアップがとても簡単な 'rufus-scheduler'があります - https://richonrails.com/articles/background-tasks-with-rufus-scheduler - 日付を動的に指定することができます。 – arjun

答えて

0

これはcronの仕事のようですね! Rubyアプリケーションでcrontabを使用するのに役立つ宝石がたくさんあります。それらの多くはhereがcronを使用しています。

関連する問題