python运行无响应_python运行后没有任何反馈要怎么排查

本文档描述了一个Python脚本处理日志并将其插入MySQL数据库时遇到无响应的问题。脚本用于从nginx访问日志中提取数据,并通过多进程并行处理。在多次尝试运行后,脚本没有输出或错误,导致运行无响应。排查步骤包括检查日志文件、数据库连接、脚本逻辑以及使用`ps`命令确认是否存在多个实例。
摘要由CSDN通过智能技术生成

python3.5.2

运行以下代码

#!/bin/env python3

# coding:utf-8

"""

ljk 20161116(update 20170217)

This script should be put in crontab in every web server.Execute every n minutes.

Collect nginx access log, process it and insert the result into mysql.

"""

import os

import re

import subprocess

import time

import warnings

import pymysql

from sys import argv, exit

from socket import gethostname

from urllib.parse import unquote

from zlib import crc32

from multiprocessing import Pool

##### 自定义部分 #####

# 定义日志格式,利用非贪婪匹配和分组匹配,需要严格参照日志定义中的分隔符和引号

log_pattern = r'^(?P.*?) - \[(?P.*?)\] "(?P.*?)"' \

r' (?P.*?) (?P.*?) (?P.*?)' \

r' "(?P.*?)" "(?P.*?)" - (?P.*)$'

# request的正则,其实是由 "request_method request_uri server_protocol"三部分组成

request_uri_pattern = r'^(?P(GET|POST|HEAD|DELETE)?) (?P.*?) (?PHTTP.*)$'

# 日志目录

log_dir = '/data/wwwlogs/'

# 要处理的站点(可随需要想list中添加)

todo = ['www']

# MySQL相关设置

mysql_host = '处理过'

mysql_user = '处理过'

mysql_passwd = '处理过'

mysql_port = 3306

mysql_database = '处理过'

# 表结构

creat_table = "CREATE TABLE IF NOT EXISTS {} (\

id bigint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,\

server char(11) NOT NULL DEFAULT '',\

uri_abs varchar(200) NOT NULL DEFAULT '' COMMENT '对$uri做uridecode,然后做抽象化处理',\

uri_abs_crc32 bigint unsigned NOT NULL DEFAULT '0' COMMENT '对上面uri_abs字段计算crc32',\

args_abs varchar(200) NOT NULL DEFAULT '' COMMENT '对$args做uridecode,然后做抽象化处理',\

args_abs_crc32 bigint unsigned NOT NULL DEFAULT '0' COMMENT '对上面args字段计算crc32',\

time_local timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',\

response_code smallint NOT NULL DEFAULT '0',\

bytes_sent int NOT NULL DEFAULT '0' COMMENT '发送给客户端的响应大小',\

request_time float(6,3) NOT NULL DEFAULT '0.000',\

user_ip varchar(40) NOT NULL DEFAULT '',\

cdn_ip varchar(15) NOT NULL DEFAULT '' COMMENT 'CDN最后节点的ip:空字串表示没经过CDN; - 表示没经过CDN和F5',\

request_method varchar(7) NOT NULL DEFAULT '',\

uri varchar(255) NOT NULL DEFAULT '' COMMENT '$uri,已做uridecode',\

args varchar(255) NOT NULL DEFAULT '' COMMENT '$args,已做uridecode',\

referer varchar(255) NOT NULL DEFAULT '' COMMENT '',\

KEY time_local (time_local),\

KEY uri_abs_crc32 (uri_abs_crc32),\

KEY args_abs_crc32 (args_abs_crc32)\

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 row_format=compressed"

##### 自定义部分结束 #####</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值