我想查看用户在特定时段内的订阅日期。并向订阅完成的用户发送邮件(例如提醒两天)。 我认为最好的方法是使用线程和计时器来检查日期。但我不知道如何调用此函数。我不想制作单独的程序或shell。我想将此过程与我的django代码结合起来。我试图在settings.py文件中调用此函数。但似乎这不是一个好主意。它调用该函数并在每次导入设置时创建线程。
答案 0 :(得分:3)
从cron定期调用manage.py
命令的情况。 Oficial doc关于创建这些命令。 Here更有帮助。
如果您想要更简单的内容,则django-command-extensions会有管理django jobs的命令。
答案 1 :(得分:2)
如果您需要更多,那么只有这一个异步作业可以查看celery。
答案 2 :(得分:1)
使用Django-cron更容易,更简单
编辑:添加了提示
from django_cron import cronScheduler, Job
class sendMail(Job):
# period run every 300 seconds (5 minutes)
run_every = 300
def job(self):
# This will be executed every 5 minutes
datatuple = check_subscription_finishing()
send_mass_mail(datatuple)
//and just register it
cronScheduler.register(sendMail)