gpt4 book ai didi

python - Django - MYSQL中自动删除 'old'数据集

转载 作者:太空宇宙 更新时间:2023-11-03 11:30:57 25 4
gpt4 key购买 nike

我有一个传感器节点,它每 5 分钟将环境数据(温度、pH 值)连同电池电量一起传输到 MYSQL 实例(和 Django 应用程序)。现在,我将在数据库中无限期地存储所有记录的温度、pH 数据,因为它们流入,但我想将电池级数据存储限制为最多 3 个月。原因是,它不是历史数据分析的重要指标,因此占用磁盘空间没有意义,特别是如果有多个节点发送这样的数据。

将我处理电池电量数据的 models.py 想象成...

class Node_Health(models.Model):
# Battery levels, in percentage to two decimal placing
timestamp = models.DateTimeField(db_index=True,auto_now=False, auto_now_add=False, null=True) # db index
battery_lvl = models.CharField(max_length=4,null=True)

问题是,一旦电池电量日志在 Django-python 框架中达到 > 3 个月,我如何(最佳实践)自动监控和丢弃“旧”电池电量数据?即仅在数据库中存储最近三个月的电池电量。我是否将 CRON 或 Celery 与 python 脚本一起使用,以检查数据库中是否有任何多余的数据并清除这些“旧数据”? (这是我知道的唯一方法,这可能不是更好的方法)...我当然不是 db 和 dev-ops 方面的专家;将不胜感激任何指示或建议。

最佳答案

我认为您可以使用 MYSQL 事件调度程序。 MySQL 事件是根据 schedule 运行的任务。因此,我们有时将它们称为预定事件。当您创建一个事件时,您正在创建一个命名的数据库对象,其中包含一个或多个 SQL 语句,这些语句将以一个或多个固定的时间间隔执行,在特定日期和时间开始和结束。从概念上讲,这类似于 Unix crontab(也称为“cron 作业”)或 Windows 任务计划程序的想法。

引用资料:

注意事项:

  1. 我不确定哪种方法更能满足您的要求
  2. MySQL Event Scheduler 仅适用于版本 5.1.6

关于python - Django - MYSQL中自动删除 'old'数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49910523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com