fixed write_datapoints
This commit is contained in:
parent
efc81d4c9c
commit
e7bdaceaf8
|
|
@ -87,7 +87,10 @@ class InfluxDatabase(models.Model):
|
||||||
return int(timestamp)
|
return int(timestamp)
|
||||||
|
|
||||||
def create_data_element_from_variable(self, variable, timestamp, value, **kwargs):
|
def create_data_element_from_variable(self, variable, timestamp, value, **kwargs):
|
||||||
if value is not None:
|
if value is None:
|
||||||
|
return None
|
||||||
|
if timestamp is None:
|
||||||
|
return None
|
||||||
date_saved = kwargs.get(
|
date_saved = kwargs.get(
|
||||||
"date_saved",
|
"date_saved",
|
||||||
variable.date_saved if hasattr(variable, "date_saved") else now(),
|
variable.date_saved if hasattr(variable, "date_saved") else now(),
|
||||||
|
|
@ -105,15 +108,14 @@ class InfluxDatabase(models.Model):
|
||||||
.tag("unit", str(variable.unit))
|
.tag("unit", str(variable.unit))
|
||||||
.field("value", value)
|
.field("value", value)
|
||||||
.field("date_saved", date_saved.timestamp())
|
.field("date_saved", date_saved.timestamp())
|
||||||
.time(datetime.utcfromtimestamp(timestamp))
|
.time(datetime.utcfromtimestamp(timestamp/1000.0))
|
||||||
)
|
)
|
||||||
return point
|
return point
|
||||||
return None
|
|
||||||
|
|
||||||
def last_datapoint(self, **kwargs):
|
def last_datapoint(self, **kwargs):
|
||||||
if self.only_write_to_influxdb:
|
if self.only_write_to_influxdb:
|
||||||
django_database = self.get_django_database()
|
django_database = self.get_django_database()
|
||||||
return django_database.last_value(**kwargs)
|
return django_database.last_datapoint(**kwargs)
|
||||||
|
|
||||||
variable = kwargs.pop("variable") if "variable" in kwargs else None
|
variable = kwargs.pop("variable") if "variable" in kwargs else None
|
||||||
use_date_saved = (
|
use_date_saved = (
|
||||||
|
|
@ -222,6 +224,7 @@ class InfluxDatabase(models.Model):
|
||||||
date_saved = kwargs.pop("date_saved") if "date_saved" in kwargs else now()
|
date_saved = kwargs.pop("date_saved") if "date_saved" in kwargs else now()
|
||||||
batch_size = kwargs.pop("batch_size") if "batch_size" in kwargs else 5000
|
batch_size = kwargs.pop("batch_size") if "batch_size" in kwargs else 5000
|
||||||
i = 0
|
i = 0
|
||||||
|
logger.debug(f"write_datapoints {items}")
|
||||||
for item in items:
|
for item in items:
|
||||||
logger.debug(f"{item} has {len(item.cached_values_to_write)} to write.")
|
logger.debug(f"{item} has {len(item.cached_values_to_write)} to write.")
|
||||||
if len(item.cached_values_to_write):
|
if len(item.cached_values_to_write):
|
||||||
|
|
@ -236,7 +239,7 @@ class InfluxDatabase(models.Model):
|
||||||
item.date_saved = date_saved
|
item.date_saved = date_saved
|
||||||
# create the recorded data object
|
# create the recorded data object
|
||||||
point = self.create_data_element_from_variable(
|
point = self.create_data_element_from_variable(
|
||||||
item, cached_value[1], cached_value[0], **kwargs
|
item, cached_value[0], cached_value[1], **kwargs
|
||||||
)
|
)
|
||||||
if self.only_write_to_influxdb or True:
|
if self.only_write_to_influxdb or True:
|
||||||
rc = data_model.objects.create_data_element_from_variable(
|
rc = data_model.objects.create_data_element_from_variable(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user