Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Django中使用线程_Python_Django_Multithreading - Fatal编程技术网

Python 如何在Django中使用线程

Python 如何在Django中使用线程,python,django,multithreading,Python,Django,Multithreading,我想查看用户在某个时期内的订阅日期。并向订阅完成的用户发送邮件(例如,提醒两天)。 我认为最好的方法是使用线程和计时器来检查日期。但是我不知道如何调用这个函数。我不想做一个单独的程序或shell。我想将这个过程与django代码结合起来。我试图在settings.py文件中调用此函数。但这似乎不是一个好主意。每次我导入设置时,它都会调用函数并创建线程。这就是从cron定期调用的manage.py命令的情况。关于创建这些命令。更有用一点 如果您想要更简单的东西,可以使用命令进行管理。这就是从cro

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

这就是从cron定期调用的
manage.py
命令的情况。关于创建这些命令。更有用一点


如果您想要更简单的东西,可以使用命令进行管理。

这就是从cron定期调用的
manage.py
命令的情况。关于创建这些命令。更有用一点

如果您想要更简单的东西,那么可以使用命令进行管理。

使用起来更简单

编辑:添加提示

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)
使用起来更容易和简单

编辑:添加提示

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)

如果需要更多,则只需查看此异步作业。

如果需要更多,则只需查看此异步作业