0
我使用的是django 1.9。我正在制定要求,在我們的平臺上籤署了x小時後,我們需要發送用戶提醒以通過電子郵件激活其帳戶。用戶註冊6小時後,Django發送郵件和短信
我有send_mail任務,我已配置Django RQ發送郵件。
我能想到的一種方法是使用Django RQ scheduler設置一個cron作業,每5分鐘運行一次,以檢查6小時前註冊的用戶。
有沒有更好的方法來做到這一點?
我使用的是django 1.9。我正在制定要求,在我們的平臺上籤署了x小時後,我們需要發送用戶提醒以通過電子郵件激活其帳戶。用戶註冊6小時後,Django發送郵件和短信
我有send_mail任務,我已配置Django RQ發送郵件。
我能想到的一種方法是使用Django RQ scheduler設置一個cron作業,每5分鐘運行一次,以檢查6小時前註冊的用戶。
有沒有更好的方法來做到這一點?
查看django-rq文檔,如果同時安裝了django-rq
和rq-scheduler
,看起來您不需要創建定期作業。只需在登錄時安排您的工作。
# 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自己。
我推薦http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html。 – itzMEonTV
謝謝,但我已經配置了django rq和rq調度程序並正常運行,所以我避免添加一個更多的任務管理器,如芹菜。 – Kishan
好的。因此您可以在x小時後安排任務嗎?您將使用模型信號觸發https://docs.djangoproject.com/zh/110/topics/signals/。那麼爲此目的不需要cronjob。 – itzMEonTV