簡體   English   中英

使用 Django 和 celery 在特定時間安排電子郵件

[英]Schedule emails on a specific time using Django and celery

這是我正在尋找的用例:

  • 用戶將在我的應用程序上注冊
  • 這是一個筆記制作和剩余應用程序
  • 在創建剩余用戶時,我的應用程序將輸入當時我的應用程序想要向用戶發送 email 的時間
  • 我必須使用 celery 相同我閱讀了幾篇帖子和堆棧溢出答案,但沒有得到相同的正確答案。

我的應用程序是用 Django 編寫的。

當用戶創建新提醒時,只需在 celery 中安排發送 email 任務。 請注意,這是一個簡單的解決方案,但它會使用戶難以在創建通知時間后更改通知時間。

從這個答案

要在指定的日期和時間執行任務,您可以在調用任務時使用 apply_async 的 eta 屬性,如文檔中所述

your_task.apply_async(kwargs={}, eta="your_send_time")

一個不同的解決方案是每 1 分鍾運行一次任務,如果有任何電子郵件要發送,它將檢查數據庫。 您不必為此使用 Celery。 類似 Cron 的庫應該可以解決問題。 例如調度 libdjango-cronDjango 命令


編輯:這家伙說你不應該將 dbader/schedule 與 Django 一起使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM