2016-08-17 13 views
0

私はdjango 1.9を使用しています。私は、私たちのプラットフォームにサインしたx時間後に電子メールでアカウントを有効にするようにユーザーに通知する必要がある要件に取り組んでいます。Djangoはユーザー登録後6時間後にメールとSMSを送信します

私はsend_mailタスクを持っており、メールを送信するようにDjango RQを設定しました。

私が考えることの1つの方法は、Django RQ schedulerを使用してcronジョブを設定し、6時間前にサインアップしたユーザーを確認するために5分ごとに実行することです。

これを行うにはもっと良い方法はありますか?

+0

私はhttp://docs.celeryproject.org/en/latest/django/first-steps-with-django.htmlをお勧めします。 – itzMEonTV

+0

ありがとうございますが、私はすでにdjango rqとrq schedulerを正しく設定して実行しているので、セロリなどのタスクマネージャを1つ追加することは避けていました。 – Kishan

+0

x時間後にタスクをスケジュールすることができますか?モデル信号https://docs.djangoproject.com/en/1.10/topics/signals/を使用してトリガーを取得します。その後、この目的のためのcronjobの必要はありません。 – itzMEonTV

答えて

1

django-rqrq-schedulerの両方がインストールされている場合、django-rqのドキュメントを見ると、定期的なジョブを作成する必要はありません。サインオン中にあなたの仕事をスケジュールするだけです。

# From django-rq docs 
import django_rq 
# Select the queue you want to use, here it uses default queue 
scheduler = django_rq.get_scheduler('default') 
# HERE: Set the datetime X HOURS from sign on 
job = scheduler.enqueue_at(datetime(2020, 10, 10), func) 

参考:django-rq docs Support for RQ Schedulerセクション

注:私は、Djangoの-RQ自分自身を使用していません。

関連する問題