2012-04-02 9 views
4

私のDjangoプロジェクトでは、ユーザーは無料トライアルに登録することができますが、15日以内に購入を完了しないと、アカウントは購入を完了するまでロックアウトされます。 13日後(すなわち、48時間以内または期限切れ中)、登録されたユーザーに購入を促す電子メールを送信したいと考えています。Django:x日後にメールを送信

現在、登録日と現在の日付が2日離れている場合は、毎日実行してすべての試用アカウントをチェックするように設定されています。

これを行うためのより洗練されたソリューションがあるのだろうかと思っていましたか?

+6

なぜこれはエレガントではありませんか? –

+3

私にそれをするためのかなり標準的な方法のような音。 – yoozer8

+0

+1他のコメント。より高度な作業が必要な場合を除き、cronjobは最も洗練されたソリューションのように聞こえます。 –

答えて

0

cronファイルを使いたくない場合は、Pythonで書かれた非同期タスクキューCeleryを調べてください。もともとDjangoで作成されたものですが、それ以降はinto a separate packageに分かれています。何あなたがやりたいことは、このようなCelerybeat scheduleに設定されている:accounts.tasks.remind 24時間ごと:

CELERYBEAT_SCHEDULE = { 
    "purchase-reminder": { 
     "task": "accounts.tasks.remind", 
     "schedule": timedelta(hours=24), 
    }, 
} 

これは、タスクを(機能を読んで)呼び出します。

関連する問題