如何在Django中使用线程

时间:2010-04-06 08:38:44

标签: python django multithreading

我想查看用户在特定时段内的订阅日期。并向订阅完成的用户发送邮件(例如提醒两天)。 我认为最好的方法是使用线程和计时器来检查日期。但我不知道如何调用此函数。我不想制作单独的程序或shell。我想将此过程与我的django代码结合起来。我试图在settings.py文件中调用此函数。但似乎这不是一个好主意。它调用该函数并在每次导入设置时创建线程。

3 个答案:

答案 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)