- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个脚本,可以将包含目录的文件解析为其他文件,必须打开并读取这些文件来搜索关键字。由于文件数量不断增长,我希望启用多重处理以减少完成作业所需的时间。
我正在考虑让父进程解析包含目录的文件并使用子进程来获取其他文件。由于父级需要在创建子级之前获取数据,因此这将是一种阻塞架构(父级必须在调用子级之前读取所有文件),而我想将包含目录的列表发送给其中一个子级每 100 个结果。
因此,父级继续解析文件,而子级同时查找关键字。
我怎么能做这样的事情呢?如果您需要更多解释,请询问我,我会告诉您更多信息。
谢谢。
最佳答案
I was thinking to leave the parent process parsing the file containing directories and use child processes to fetch the other files.
目录是一个名称。父级解析列表并向每个子级提供目录名称。正确的?然后 child 读取目录中的文件。
Since the parent would need to obtain the data before to create childs it would be a blocking architecture (the parent has to read all the file before to call childs),
嗯。 child 不读取目录内的文件?上面,它说 child 确实读取了文件。对于 parent 来说,读取大量数据并将其推送给 child 是愚蠢的。
while I'd like to send to one of the childs the list containing directories each 100 results.
嗯。这是不同的。现在您想让父级读取一个目录名,读取一批 100 个文件名并将文件名发送给子级。好的。这比读取所有数据要简单得多。现在只剩下 100 个名字了。
So, the parent continues parsing the file while childs work at the same time to find the keyword.
好的。但您完全错过了并行处理的机会。
仔细阅读multiprocessing
模块。
你想要的是两个队列和两种工作人员。
您的应用程序将构建两个队列。它将构建一个源进程、一个“获取批处理”工作进程池和一个“获取文件”工作进程池。
来源。这个过程(基本上)是一个读取原始“包含目录的文件”的函数。并将每个目录名放入“获取批处理”队列中。
获取批处理。这是一个进程池。每个进程都是一个从“获取批处理”队列中获取条目的函数。这是一个目录名称。然后,它读取该目录并将包含 100 个文件名的元组排入“获取文件”队列。
获取文件。这是一个进程池。每个进程都是一个从“获取文件”队列中获取条目的函数。这是一个包含 100 个文件的元组。然后它打开并读取这 100 个文件,对它们进行天知道会做什么。
多处理模块的想法是使用工作池,所有工作池都从队列中获取任务并将结果放入另一个队列中。这些工作人员全部同时运行。
关于Python3 通过多处理并行化作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7442826/
我正在创建一个“杀死”人的命令。我希望机器人返回消息“哈!你以为!@Author 死了!”如果他们 ping 机器人。 (我如何让机器人查看它是否被 ping 过?)答案已更新并且现在可以正常工作。
我有一个在heroku 上运行的应用程序,例如my-app.herokuapp.com。但是,如果我输入 ping -c 10 my-app.herokuapp.com 在Mac终端中,它显示请求超时
我在 minikube 集群中有一个 k8s 服务/部署(default 命名空间中的名称 amq: D20181472:argo-k8s gms$ kubectl get svc --all-nam
我有 2 个 EC2 Ubuntu 实例。它们共享相同的 VPC、子网和安全组。实例的防火墙已关闭。但是私网IP还是无法互相ping通。如何让这些实例互相 ping 通? 最佳答案 在安全组中,为“回
我可以连接到我的 wifi(另一台笔记本电脑在此网络上正常),但是浏览器不会加载网页,并且我无法 ping 通 google.com 我注意到的一件奇怪的事情是,如果我查看/etc/resolv.co
我在 Azure 上使用 PUBSUB 时遇到问题。 Azure 防火墙将关闭闲置任意时间的连接。对于时间长度存在很多争议,但人们认为大约是 5 - 15 分钟。 我使用 Redis 作为消息队列。为
我很无聊,因为我的开发服务器已关闭,我正在运行命令提示符以无限期地 ping 服务器,以便我看到它们何时停止超时并知道我可以再次工作。与此同时,我想制作一个 Air 应用程序来为我做这件事,所以当它开
是否可以向 nat 后面的主机发送回显请求 后。所有的 echo-request 都不包含目标主机的端口,因此如果有多个主机使用相同的外部 ip 地址,nat 将如何将 echo-reques
我按照以下链接创建了 azure 实例 http://michaelwasham.com/2013/09/03/connecting-clouds-site-to-site-aws-azure/ 我可
friend 们,我认为这是一件奇怪的事情(至少对我来说)。因为我了解到互联网上的每个域名都有一个对应的IP地址。它存储在 DNS 上的某个位置。 现在,这就是我从命令行 ping google.co
我正在尝试使用分配给 kube-dns 服务的集群 IP 从 dnstools pod ping kube-dns 服务。 ping 请求超时。在同一个 dnstools pod 中,我尝试使用暴露的
我按照以下链接创建了 azure 实例 http://michaelwasham.com/2013/09/03/connecting-clouds-site-to-site-aws-azure/ 我可
我有一个虚拟网络 vmnet2,使用 10.0.2.0/24 网络,我希望我的 Linux 服务器能够 ping 默认网关。 我已将 Linux eth1 值设置为 IPADDR="10.0.2.50
我想将我的本地 mysql 数据库迁移到 Amazon RDS。但首先我想测试它是否正在接收通信。所以我尝试ping它。但是尝试超时。 ping -c 5 myfishdb.blackOut.us-w
我对 AWS 很陌生,已经测试过启动一个实例,如下所示: 下面是安全组,附加了inbound规则 我的问题是我无法 ping 通这台服务器。我可以知道我是否理解错了什么吗? 最佳答案 您需要为其创建新
我对 AWS 很陌生,已经测试过启动一个实例,如下所示: 下面是安全组,附加了inbound规则 我的问题是我无法 ping 通这台服务器。我可以知道我是否理解错了什么吗? 最佳答案 您需要为其创建新
如何确定 IP 地址是否可 ping 通?另外,如何使用 perl 脚本找到可 ping 的 IP 是静态的还是动态的? 最佳答案 看看 Net::Ping模块; #!/usr/bin/env per
我已经研究这个有一段时间了。对于网站 static.etreeblog.com,如果网站离线,我想更改 duv 的类。 我研究过的方法: - 使用带有图像的 onerror 标签来运行函数。-问题:我
我正在使用 OpenvSwitch-2.5.2 在两个虚拟机上设置第 2 层网络,如上图所示。 在阅读了 ovs 官方教程和其他一些文章后,我在每个虚拟机上尝试了以下命令: # on vm1 ip l
我有一个名为 backend 的 Docker 容器,它公开了一个端口 8200,并在其中的 gunicorn 后面运行了一个 django 服务器。这是我的 Dockerfile: FROM deb
我是一名优秀的程序员,十分优秀!