我有一个传感器节点,它每5分钟(温度,pH)将环境数据流一次,并将其电池级别传送到MYSQL实例(以及Django应用程序)。现在,我将无限期地将所有记录在案的温度、pH数据存储在db上,但希望将电池级别的数据存储限制在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个月时,我(最佳实践)如何自动监控和丢弃“旧”电池级别数据?也就是说,仅在db中存储最近三个月的电池电量。我是否使用CRON或芹菜与python脚本一起检查数据库中是否有多余的数据,并删除这些“旧数据”?(这是我所知道的唯一方法,这可能不是更好的方法).我当然不是db和dev- or方面的专家,我希望有任何指点或建议。
发布于 2018-04-19 01:51:23
我认为您可以使用MYSQL 。MySQL事件是根据schedule运行的任务。因此,我们有时将它们称为调度事件。创建事件时,您正在创建一个命名的数据库对象,该对象包含一个或多个SQL语句,将以一个或多个定期间隔执行,开始和结束时间为特定日期和时间。从概念上讲,这与Unix (也称为“cron作业”)或的想法类似。
参考文献:
备注:
5.1.6版本中获得发布于 2018-04-18 23:42:47
我通常用CRON的工作来完成这类任务。
我会像你描述的那样设置它。
https://stackoverflow.com/questions/49910523
复制相似问题