peewee创建连接前的前置操作wireshark抓包实现

 更新时间:2023年10月19日 11:48:27   作者:ponponon  
这篇文章主要为大家介绍了peewee创建连接前的前置操作wireshark 抓包实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

抓包

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)

对应用户sql

执行上面的代码,对应用户的 sql 只有一个

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 抓包可以看到有多个 Request Query

192.168.26.31 是客户端
192.168.38.223 是 Mysql server

Request Query 究竟是啥呢?

第一个 Request Query

SET NAMES utf8mb4

第二个 Request Query

SET sql_mode='PIPES_AS_CONCAT'

第三个 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创建连接前的前置操作wireshark 抓包实现的详细内容,更多关于peewee连接前wireshark抓包的资料请关注脚本之家其它相关文章!

相关文章

  • Python类的继承super相关原理解析

    Python类的继承super相关原理解析

    这篇文章主要介绍了Python类的继承super相关原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • python双向链表实现实例代码

    python双向链表实现实例代码

    python双向链表和单链表类似,只不过是增加了一个指向前面一个元素的指针,下面的代码实例了python双向链表的方法
    2013-11-11
  • python监控网站运行异常并发送邮件的方法

    python监控网站运行异常并发送邮件的方法

    这篇文章主要介绍了python监控网站运行异常并发送邮件的方法,涉及Python操作邮件及服务器监控的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • Python数据分析之NumPy常用函数使用详解

    Python数据分析之NumPy常用函数使用详解

    本篇将介绍怎样从文件中载入数据,以及怎样使用NumPy的基本数学和统计分析函数、学习读写文件的方法,并尝试函数式编程和NumPy线性代数运算,来学习NumPy的常用函数,需要的可以参考一下
    2022-05-05
  • Pytorch矩阵乘法(torch.mul() 、 torch.mm() 和torch.matmul()的区别)

    Pytorch矩阵乘法(torch.mul() 、 torch.mm() 和torch.m

    在深度学习和神经网络的世界里,矩阵乘法是一项至关重要的操作,本文主要介绍了Pytorch矩阵乘法,包含了torch.mul() 、 torch.mm() 和torch.matmul()的区别,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • Pandas.concat连接DataFrame,Series的示例代码

    Pandas.concat连接DataFrame,Series的示例代码

    本文主要介绍了Pandas.concat连接DataFrame,Series的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Django单元测试中Fixtures用法详解

    Django单元测试中Fixtures用法详解

    这篇文章主要介绍了Django单元测试中Fixtures用法,通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 如何在Django中设置定时任务的方法示例

    如何在Django中设置定时任务的方法示例

    这篇文章主要介绍了如何在Django中设置定时任务的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • python实现的web监控系统

    python实现的web监控系统

    这篇文章主要介绍了python实现的web监控系统,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • Selenium获取登录Cookies并添加Cookies自动登录的方法

    Selenium获取登录Cookies并添加Cookies自动登录的方法

    这篇文章主要介绍了Selenium获取登录Cookies并添加Cookies自动登录的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论