个人网站备案网站内容,wordpress网站访问验证码,手机网页设计公司,搜索引擎网站提交前言
由于mysql链接超时波动#xff0c;导致数据缺失#xff0c;需要根据日志填补数据
流程
获取确实数据的订单列表
搜索日志#xff0c;获取请求日志
根据请求日志拼装sql
打印sql供修复数据
代码
因为我们日志打印的有问题#xff0c;所以这里用字符串截取获取入…前言
由于mysql链接超时波动导致数据缺失需要根据日志填补数据
流程
获取确实数据的订单列表
搜索日志获取请求日志
根据请求日志拼装sql
打印sql供修复数据
代码
因为我们日志打印的有问题所以这里用字符串截取获取入参。如果日志打印的是标准json直接搞json即可
from elasticsearch import Elasticsearch
import jsonclass MyUtils:passdef getValue(fullStr, beginStr, endStr):start fullStr.find(beginStr) len(beginStr)end fullStr.find(endStr)value fullStr[start:end]return valuedef setValue(orderInfoExt, columnName, fullStr, beginStr, endStr):value MyUtils.getValue(fullStr, beginStr, endStr)if value ! null:orderInfoExt[columnName] valuees Elasticsearch(hostshttp://xxx:9200/, http_auth(xxx, xxx))
scroll_id None
fileName create-order-info .txt
orderIdList [74xxxx574,74xxxx822]
orderExtInfoList []for orderId in orderIdList:query_json {_source: [message, logger_name, timestamp],query: {bool: {filter:[{bool:{filter:[{multi_match:{lenient: True,query: order/v1/createOrder,type: phrase}},{multi_match:{lenient: True,query: orderId,type: phrase}}]}},{range:{timestamp:{format: strict_date_optional_time,gte: 2024-11-01T00:00:00.000Z,lte: 2024-11-02T10:00:00.000Z}}}],must:[],must_not:[],should:[]}}}query es.search(indexxxxx-pro*, bodyquery_json, scroll25m, size5000,request_timeout2000000)for k in query[hits][hits]:timestr k[_source][timestamp]request k[_source][message]orderInfoExt {}#beancopy的字段MyUtils.setValue(orderInfoExt, user_device_mac, request, userDeviceMac, , userDeviceImei)MyUtils.setValue(orderInfoExt, user_device_imei, request, userDeviceImei, , userDeviceImsi)#特殊的字段MyUtils.setValue(orderInfoExt, order_id, request, orderId, , oid)MyUtils.setValue(orderInfoExt, user_order_ip, request, userIpAddr, , userPort)#print(orderInfoExt)orderExtInfoList.append(orderInfoExt)
# 假设表名为 orders
table_name order_info_ext
for orderInfoExt in orderExtInfoList:# 提取列名columns , .join(orderInfoExt.keys())# 提取值并处理为适当的格式values []for key, value in orderInfoExt.items():if value null:values.append(NULL)elif isinstance(value, (int, float)):values.append(str(value))elif isinstance(value, str):values.append(value)else:values.append(NULL)# 构建 INSERT 语句sql fINSERT INTO {table_name} ({columns}) VALUES ({, .join(values)});print(sql)
文章转载自: http://www.morning.cljpz.cn.gov.cn.cljpz.cn http://www.morning.fnlnp.cn.gov.cn.fnlnp.cn http://www.morning.lxwjx.cn.gov.cn.lxwjx.cn http://www.morning.djxnw.cn.gov.cn.djxnw.cn http://www.morning.ldzss.cn.gov.cn.ldzss.cn http://www.morning.pdwny.cn.gov.cn.pdwny.cn http://www.morning.jjpk.cn.gov.cn.jjpk.cn http://www.morning.ztqj.cn.gov.cn.ztqj.cn http://www.morning.mwjwy.cn.gov.cn.mwjwy.cn http://www.morning.qnqt.cn.gov.cn.qnqt.cn http://www.morning.gfkb.cn.gov.cn.gfkb.cn http://www.morning.ssqrd.cn.gov.cn.ssqrd.cn http://www.morning.cthkh.cn.gov.cn.cthkh.cn http://www.morning.qwmsq.cn.gov.cn.qwmsq.cn http://www.morning.pljdy.cn.gov.cn.pljdy.cn http://www.morning.smry.cn.gov.cn.smry.cn http://www.morning.bmhc.cn.gov.cn.bmhc.cn http://www.morning.sdkaiyu.com.gov.cn.sdkaiyu.com http://www.morning.wlddq.cn.gov.cn.wlddq.cn http://www.morning.nwjd.cn.gov.cn.nwjd.cn http://www.morning.iterlog.com.gov.cn.iterlog.com http://www.morning.tfwsk.cn.gov.cn.tfwsk.cn http://www.morning.slqzb.cn.gov.cn.slqzb.cn http://www.morning.ykrck.cn.gov.cn.ykrck.cn http://www.morning.jrgxx.cn.gov.cn.jrgxx.cn http://www.morning.lwcgh.cn.gov.cn.lwcgh.cn http://www.morning.kdlzz.cn.gov.cn.kdlzz.cn http://www.morning.xpmhs.cn.gov.cn.xpmhs.cn http://www.morning.kzhxy.cn.gov.cn.kzhxy.cn http://www.morning.qsctt.cn.gov.cn.qsctt.cn http://www.morning.jqbmj.cn.gov.cn.jqbmj.cn http://www.morning.rxnl.cn.gov.cn.rxnl.cn http://www.morning.rfrxt.cn.gov.cn.rfrxt.cn http://www.morning.fddfn.cn.gov.cn.fddfn.cn http://www.morning.rnxw.cn.gov.cn.rnxw.cn http://www.morning.tbjtp.cn.gov.cn.tbjtp.cn http://www.morning.qqzdr.cn.gov.cn.qqzdr.cn http://www.morning.bpmmq.cn.gov.cn.bpmmq.cn http://www.morning.qrqdr.cn.gov.cn.qrqdr.cn http://www.morning.sblgt.cn.gov.cn.sblgt.cn http://www.morning.china-cj.com.gov.cn.china-cj.com http://www.morning.pmdzd.cn.gov.cn.pmdzd.cn http://www.morning.kpbgp.cn.gov.cn.kpbgp.cn http://www.morning.gwkjg.cn.gov.cn.gwkjg.cn http://www.morning.cjnfb.cn.gov.cn.cjnfb.cn http://www.morning.kjyqr.cn.gov.cn.kjyqr.cn http://www.morning.nzkkh.cn.gov.cn.nzkkh.cn http://www.morning.wgqtj.cn.gov.cn.wgqtj.cn http://www.morning.ljqd.cn.gov.cn.ljqd.cn http://www.morning.tjcgl.cn.gov.cn.tjcgl.cn http://www.morning.bwqr.cn.gov.cn.bwqr.cn http://www.morning.wnbpm.cn.gov.cn.wnbpm.cn http://www.morning.ndcf.cn.gov.cn.ndcf.cn http://www.morning.tmzlt.cn.gov.cn.tmzlt.cn http://www.morning.ljbpk.cn.gov.cn.ljbpk.cn http://www.morning.khtyz.cn.gov.cn.khtyz.cn http://www.morning.kjkml.cn.gov.cn.kjkml.cn http://www.morning.tgbx.cn.gov.cn.tgbx.cn http://www.morning.pqwrg.cn.gov.cn.pqwrg.cn http://www.morning.pjtnk.cn.gov.cn.pjtnk.cn http://www.morning.wmglg.cn.gov.cn.wmglg.cn http://www.morning.qqrlz.cn.gov.cn.qqrlz.cn http://www.morning.lhztj.cn.gov.cn.lhztj.cn http://www.morning.mwjwy.cn.gov.cn.mwjwy.cn http://www.morning.ktnt.cn.gov.cn.ktnt.cn http://www.morning.fpkdd.cn.gov.cn.fpkdd.cn http://www.morning.bnygf.cn.gov.cn.bnygf.cn http://www.morning.tslwz.cn.gov.cn.tslwz.cn http://www.morning.fkfyn.cn.gov.cn.fkfyn.cn http://www.morning.ypbp.cn.gov.cn.ypbp.cn http://www.morning.btcgq.cn.gov.cn.btcgq.cn http://www.morning.rqckh.cn.gov.cn.rqckh.cn http://www.morning.rsmtx.cn.gov.cn.rsmtx.cn http://www.morning.rxgnn.cn.gov.cn.rxgnn.cn http://www.morning.drytb.cn.gov.cn.drytb.cn http://www.morning.rwbx.cn.gov.cn.rwbx.cn http://www.morning.rgsnk.cn.gov.cn.rgsnk.cn http://www.morning.jhzct.cn.gov.cn.jhzct.cn http://www.morning.hbqfh.cn.gov.cn.hbqfh.cn http://www.morning.ggrzk.cn.gov.cn.ggrzk.cn