首页 > 其他分享 >search_url_get_msg.py

search_url_get_msg.py

时间:2023-10-06 22:34:54浏览次数:23  
标签:search log url list process result msg import

 

 

#!/usr/bin/env python3
import os
import logging
import glob
import sys
import re
from logging.handlers import RotatingFileHandler
from multiprocessing import Process
from multiprocessing import cpu_count
import multiprocessing
def search_url_message(i,url,path,result):
    logger.info("child_process {} cmd grep... ".format(i))
    comand = 'grep "{}" {}'.format(url,path)
    result_cmd = os.popen(comand)
    res = result_cmd.read()
    #print(comand)
    if res:
        result["0"] = res
def start_process(url):
    process_list = []
    result = multiprocessing.Manager().dict()
    path = '/var/log/yisa_get_msg_from_jd_kafka_process.log*'
    paths_list = []
    for i in range(321):
        if i != 0:
            paths_list.append('/var/log/yisa_get_msg_from_jd_kafka_process.log' + '.' +str(321-i))
        else:
            paths_list.append('/var/log/yisa_get_msg_from_jd_kafka_process.log')
    #for p in glob.glob(path):
    for p in paths_list:
        if '0' in result.keys():
            print(result["0"])
            break
            #sys.exit(0)
        if len(process_list) == cpu_count():
            while True:
                flag = 0
                for pro in process_list:
                    if not pro.is_alive():
                        process_list.remove(pro)
                        flag = 1
                if flag == 1:
                    break
        Pro = Process(target=search_url_message,args=(i,url,p,result))
        logger.info("child_process {} started... ".format(i))
        Pro.start()
        process_list.append(Pro)
        i = i + 1
        #if i == 60:
        #    break
    for p in process_list:
         p.kill()
if __name__ == '__main__':
    logger = logging.getLogger()
    logger.setLevel(logging.INFO)
    handler = RotatingFileHandler(os.path.dirname(os.path.abspath(__file__)) + "/dl_images.log")
    formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
    handler.setFormatter(formatter)
    logger.addHandler(handler)
    if len(sys.argv) == 2:
        url = sys.argv[1]
        start_process(url)
    else:
        print("Unknown command")

 

标签:search,log,url,list,process,result,msg,import
From: https://www.cnblogs.com/lfxx/p/17745199.html

相关文章

  • yisa_get_msg_from_kafka_per_pn.py
      #!/usr/bin/python#-*-coding:utf-8-*-#抽取kafka数据到redis_mq模块#作者:王成#日期:2017-04-14importMySQLdbimporttimeimportsysimportredisimportrequestsimportjsonimportyaml,loggingfromlogging.handlersimportTimedRotatingFileHandler,......
  • docker-compose deploy 高可用 elasticsearch TLS
    文章目录1.sysctl2.swap3.hosts4.配置instances.yaml5.创建证书6.部署7.修改kibanna密码8.清理1.sysctl[root@githubes_tls]#cat/etc/sysctl.conf#sysctlsettingsaredefinedthroughfilesin#/usr/lib/sysctl.d/,/run/sysctl.d/,and/etc/sysctl.d/.##......
  • 安装ElasticSearch_基于Docker
    注意版本,我最开始尝试比较新的版本,启动容器都发生了失败,将至7.8.0版本就启动成功了拉取Docker镜像dockerpulldocker.elastic.co/elasticsearch/elasticsearch:7.8.0//ElasticSearch镜像dockerpulldocker.elastic.co/kibana/kibana:7.8.0//kibana镜像准备docker-comp......
  • 了解基于 Elasticsearch 的站内搜索,及其替代方案
    对于一家公司而言,数据量越来越多,如果快速去查找这些信息是一个很难的问题,在计算机领域有一个专门的领域IR(Information Retrival)研究如何获取信息,做信息检索。在国内的如百度这样的搜索引擎也属于这个领域,要自己实现一个搜索引擎是非常难的,不过通过ElasticSearch就可以构建自己的站......
  • 2023-10-05 "code":"40006",msg"."Insufficient Permissions", ISV权限不
    1.登录支付宝开放平台https://open.alipay.com/2.找到控制台==》产品绑定,如下图: 我这里虽然已经绑定了,但是还没签约,意思就是还没开通app支付;3.点击去开通。 ......
  • 运维 | 如何解决 centos7.x 上 curl、wget 等工具命令失效问题
    运维|如何解决centos7.x上curl、wget等工具命令失效问题问题描述系统在初始化的时候已经安装了curl工具包,但是某一天突然在终端使用curl命令时发现提示-bash:curl:commandnotfound以为系统中并没有安装curl工具,于是输入命令重新安装yum-yinstallcurl#......
  • 前后端以数据url的方式传递字节流
    正常情况下通过字节流,将本地的一张图片渲染到前端(vue2):后端:StringimagePath="图片路径";byte[]imageBytes=Files.readAllBytes(Paths.get(imagePath));//获取文件字节Stringbase64Image=Base64.getEncoder().encodeToString(imageBytes);//把这些图片......
  • "Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/n
    docker-compose搭建elasticsearch出现问题例子如下version:'3'services:elasticsearch:image:elasticsearch:7.14.0container_name:elasticsearchenvironment:-"discovery.type=single-node"-"xpack.sec......
  • JavaScript中获取URL中参数值的方法
    方法一:正则法functiongetQueryString(name){varreg=newRegExp('(^|&)'+name+'=([^&]*)(&|$)','i');varr=window.location.search.substr(1).match(reg);if(r!=null){returnunescape(r[2]);......
  • URL路径参数转换器
    作用和基本使用作用:用于校验请求的路由参数中的值是否符合符合指定的规则。这个使用方法和django中的路由参数转换器是差不多的。至于为什么用路径参数转换器,原因和django中的一样,虽然你可以在视图函数中校验,但是如果有好几个视图函数都要用到相同的校验规则,此时使用路径参数......