首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动删除Django - MYSQL中的“旧”数据集

问自动删除Django - MYSQL中的“旧”数据集
EN

Stack Overflow用户
提问于 2018-04-18 23:33:24
回答 2查看 309关注 0票数 0

我有一个传感器节点,它每5分钟(温度,pH)将环境数据流一次,并将其电池级别传送到MYSQL实例(以及Django应用程序)。现在,我将无限期地将所有记录在案的温度、pH数据存储在db上,但希望将电池级别的数据存储限制在3个月以内。原因是,它不是历史数据分析的重要指标,因此没有必要占用磁盘空间,特别是如果有多个节点发送这样的数据。

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

代码语言:javascript
复制
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个月时,我(最佳实践)如何自动监控和丢弃“旧”电池级别数据?也就是说,仅在db中存储最近三个月的电池电量。我是否使用CRON或芹菜与python脚本一起检查数据库中是否有多余的数据,并删除这些“旧数据”?(这是我所知道的唯一方法,这可能不是更好的方法).我当然不是db和dev- or方面的专家,我希望有任何指点或建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-19 01:51:23

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

参考文献:

备注:

  1. 我不确定哪种方法能更可靠地达到你的要求
  2. MySQL事件调度程序仅可从5.1.6版本中获得
票数 2
EN

Stack Overflow用户

发布于 2018-04-18 23:42:47

我通常用CRON的工作来完成这类任务。

我会像你描述的那样设置它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49910523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档