fix: 修复定时任务由于device_count 未上报数据导致bug

This commit is contained in:
xianfx 2024-03-12 00:01:45 +08:00
parent 883ea9fbfc
commit c6bfaad911
2 changed files with 16 additions and 8 deletions

View File

@ -201,15 +201,23 @@ def update_mosq_device_info():
default_org = Org.objects.all().first() default_org = Org.objects.all().first()
for device_id in delta: for device_id in delta:
counter_device = DeviceCount.objects.filter(device_id=device_id).order_by('-data_time').first() counter_device = DeviceCount.objects.filter(device_id=device_id).order_by('-data_time').first()
# 设备上报了信息
if counter_device:
latitude = counter_device.latitude
longitude = counter_device.longitude
else:
latitude = None
longitude = None
DeviceInfo.objects.create(device_id=device_id, DeviceInfo.objects.create(device_id=device_id,
org=default_org, org=default_org,
latitude=counter_device.latitude, latitude=latitude,
longitude=counter_device.longitude) longitude=longitude)
return list(delta) return list(delta)
if __name__ == '__main__': if __name__ == '__main__':
# a, b = get_daily_statistic() # a, b = get_daily_statistic()
# print(a, b) # print(a, b)
# update_mosq_device_info() update_mosq_device_info()
update_mosql_device_location() # update_mosql_device_location()

View File

@ -217,10 +217,10 @@ CELERY_BEAT_SCHEDULE = {
'task': 'mosquito.tasks.update_mosq_device_info', 'task': 'mosquito.tasks.update_mosq_device_info',
'schedule': crontab(minute="*/5"), 'schedule': crontab(minute="*/5"),
}, },
# 'update-latest-statistic': { 'update-latest-statistic': {
# 'task': 'mosquito.tasks.update_latest_statistic', 'task': 'mosquito.tasks.update_mosql_device_location',
# 'schedule': crontab(hour='*/1', minute=0), 'schedule': crontab(hour='*/2', minute=0),
# }, },
} }
# logging db query # logging db query