增加:更新全部站点数据时发送今日增量信息

This commit is contained in:
ngfchl
2023-01-26 15:07:02 +08:00
parent 3dc2348355
commit 3ce10f10de
2 changed files with 39 additions and 1 deletions

View File

@@ -623,7 +623,7 @@ def site_status_api(request):
pass
else:
if level_info.level_id == 0:
site_info.update({
out_site_info.update({
'level_info': model_to_dict(level_info),
})
else:
@@ -870,6 +870,7 @@ def update_site_api(request):
if res.code != StatusCodeEnum.OK.code:
return JsonResponse(data=res.to_dict(), safe=False)
status = res.data[0]
pt_spider.today_data()
if isinstance(status, SiteStatus):
message = message_template.format(
my_site.site.name,

View File

@@ -2500,3 +2500,40 @@ class PtSpider:
return CommonResponse.success(
data=data.get(cmd)
)
def today_data(self):
"""测试代码"""
today_site_status_list = SiteStatus.objects.filter(created_at__date=datetime.today())
# yesterday_site_status_list = SiteStatus.objects.filter(
# created_at__day=datetime.today() - timedelta(days=1))
increase_list = []
total_upload = 0
total_download = 0
for site_state in today_site_status_list:
my_site = site_state.site
yesterday_site_status_list = SiteStatus.objects.filter(site=my_site)
if len(yesterday_site_status_list) >= 2:
yesterday_site_status = SiteStatus.objects.filter(site=my_site).order_by('-created_at')[1]
uploaded_increase = site_state.uploaded - yesterday_site_status.uploaded
downloaded_increase = site_state.downloaded - yesterday_site_status.downloaded
else:
uploaded_increase = site_state.uploaded
downloaded_increase = site_state.downloaded
total_upload += uploaded_increase
total_download += downloaded_increase
increase_list.append(f'\n\n- 站点:{my_site.site.name}'
f'\n\t\t上传:{FileSizeConvert.parse_2_file_size(uploaded_increase)}'
f'\n\t\t下载:{FileSizeConvert.parse_2_file_size(downloaded_increase)}')
# incremental = {
# '总上传': FileSizeConvert.parse_2_file_size(total_upload),
# '总下载': FileSizeConvert.parse_2_file_size(total_download),
# '说明': '数据均相较于本站今日之前最近的一条数据,可能并非昨日',
# '数据列表': increase_list,
# }
incremental = f'#### 总上传:{FileSizeConvert.parse_2_file_size(total_upload)}\n' \
f'#### 总下载:{FileSizeConvert.parse_2_file_size(total_download)}\n' \
f'> 说明: 数据均相较于本站今日之前最近的一条数据,可能并非昨日\n' \
f'#### 数据列表:{"".join(increase_list)}'
logger.info(incremental)
self.send_text(title='通知:今日数据', message=incremental)
"""测试代码结束"""