用于检查数据库中新警报的Django函数

问题描述 投票:0回答:1

我将在我的拼贴画中开始我的第一个django项目,我想知道如何创建一个函数来检查每x次或当我在“警报”表DB中有新行时,以及向其中发送电子邮件或短信后用户。

我的项目是Web系统监视器。

python django postgresql notifications
1个回答
1
投票

尝试使用cron jobs,并使用cron jobs,可以定期进行一次操作。

要在Django中创建cron jobs,您必须创建一个custom django-admin command

  • 在您的一个应用程序中创建一个文件夹management,并在management文件夹中创建另一个文件夹commands
  • commands文件夹中创建文件my_costum_command.py。这是将显示在manage.py命令列表中的命令的名称。 (该应用程序必须在已安装的应用程序中)
  • 导入检查数据库所需的库和模型
  • 然后,创建一个类,如:

    从django.core.management.base导入BaseCommand...类Command(BaseCommand): help ='命令说明'

    def handle(self, *args, **kwargs):
        # your code for the action (checking database)
        # check the database and send email if needs
    

现在,将从manage.py执行命令

然后,创建一个cron作业并每隔一段时间(这里每10分钟一次)执行一次命令:

# m h  dom mon dow   command
10 * * * * /home/mysite/venv/bin/python /home/mysite/mysite/manage.py my_custom_command

这里是docs如何创建自定义django-admin命令

© www.soinside.com 2019 - 2024. All rights reserved.