peewee創(chuàng)建連接前的前置操作wireshark抓包實(shí)現(xiàn)
抓包
from core.mysql.models import ParseMonitoringDetail from peewee import fn from loguru import logger group_by_parser_name: bool = True group_by_error_class_name: bool = True group_by_track_source_id: bool = True query = (ParseMonitoringDetail .select( ParseMonitoringDetail.parser_name, ParseMonitoringDetail.error_class_name, ParseMonitoringDetail.track_source_id, fn.COUNT("*").alias('task_count') ) .where(ParseMonitoringDetail.success == False) .order_by(fn.COUNT("*").alias('task_count').desc())) if group_by_parser_name: query = query.group_by( ParseMonitoringDetail.parser_name, ) if group_by_error_class_name: query = query.group_by( ParseMonitoringDetail.error_class_name, ) if group_by_track_source_id: query = query.group_by( ParseMonitoringDetail.track_source_id ) logger.debug(f'sql: {str(query)}') result = query.dicts().execute() result = list(result) logger.debug(result)
對(duì)應(yīng)用戶sql
執(zhí)行上面的代碼,對(duì)應(yīng)用戶的 sql 只有一個(gè)
SELECT `t1`.`parser_name`, `t1`.`error_class_name`, `t1`.`track_source_id`, COUNT('*') AS `task_count` FROM `parse_monitoring_detail` AS `t1` WHERE (`t1`.`success` = 0) GROUP BY `t1`.`track_source_id` ORDER BY `task_count` DESC
但是從 wireshark 抓包可以看到有多個(gè) Request Query
192.168.26.31 是客戶端
192.168.38.223 是 Mysql server
Request Query 究竟是啥呢?
第一個(gè) Request Query
SET NAMES utf8mb4
第二個(gè) Request Query
SET sql_mode='PIPES_AS_CONCAT'
第三個(gè) Request Query
SELECT `t1`.`parser_name`, `t1`.`error_class_name`, `t1`.`track_source_id`, COUNT('*') AS `task_count` FROM `parse_monitoring_detail` AS `t1` WHERE (`t1`.`success` = 0) GROUP BY `t1`.`track_source_id` ORDER BY `task_count` DESC
以上就是peewee創(chuàng)建連接前的前置操作wireshark 抓包實(shí)現(xiàn)的詳細(xì)內(nèi)容,更多關(guān)于peewee連接前wireshark抓包的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python雙向鏈表實(shí)現(xiàn)實(shí)例代碼
python雙向鏈表和單鏈表類似,只不過是增加了一個(gè)指向前面一個(gè)元素的指針,下面的代碼實(shí)例了python雙向鏈表的方法2013-11-11python監(jiān)控網(wǎng)站運(yùn)行異常并發(fā)送郵件的方法
這篇文章主要介紹了python監(jiān)控網(wǎng)站運(yùn)行異常并發(fā)送郵件的方法,涉及Python操作郵件及服務(wù)器監(jiān)控的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03Python數(shù)據(jù)分析之NumPy常用函數(shù)使用詳解
本篇將介紹怎樣從文件中載入數(shù)據(jù),以及怎樣使用NumPy的基本數(shù)學(xué)和統(tǒng)計(jì)分析函數(shù)、學(xué)習(xí)讀寫文件的方法,并嘗試函數(shù)式編程和NumPy線性代數(shù)運(yùn)算,來學(xué)習(xí)NumPy的常用函數(shù),需要的可以參考一下2022-05-05Pytorch矩陣乘法(torch.mul() 、 torch.mm() 和torch.m
在深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)的世界里,矩陣乘法是一項(xiàng)至關(guān)重要的操作,本文主要介紹了Pytorch矩陣乘法,包含了torch.mul() 、 torch.mm() 和torch.matmul()的區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03Pandas.concat連接DataFrame,Series的示例代碼
本文主要介紹了Pandas.concat連接DataFrame,Series的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02如何在Django中設(shè)置定時(shí)任務(wù)的方法示例
這篇文章主要介紹了如何在Django中設(shè)置定時(shí)任務(wù)的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01python實(shí)現(xiàn)的web監(jiān)控系統(tǒng)
這篇文章主要介紹了python實(shí)現(xiàn)的web監(jiān)控系統(tǒng),幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04Selenium獲取登錄Cookies并添加Cookies自動(dòng)登錄的方法
這篇文章主要介紹了Selenium獲取登錄Cookies并添加Cookies自動(dòng)登錄的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12