python windows上调用subprogress

#由于windows不支持os.wait(),系统会不停的创建进程, 这里使用一个sets()作为一个池,控制进程的数量,使用subprogress 调用外部命令完成工作


#-*- coding:utf-8-*-

import os

import subprocess

import time


pids = []

n = 0


ps = set()

max_p = 20


for i in open("imgurlok.txt","r").readlines():

    (num,name,url) = i.split("|||")

    dirname = "f:/ooo/img5/"+str(num)+"/"

    if not os.path.exists(dirname):

        os.mkdir(dirname)

    cmd = "wget -t3 -T5 " + " -P "+ dirname.encode("gbk","ignore") + "  "+url+" > nul"

    p = subprocess.Popen(cmd,stdin=None,stdout=None, shell=True)

    ps.add(p)

    while len(ps) >= max_p:

        time.sleep(0.001)#这个值如果设置得当,可以不再下面进行异常捕获的操作

        try:

            ps.difference_update(d for d in ps if d.poll() is not None)

        except:

            pass

drupal 大型网站架构建议

高性能网站架构的一个重要因素当然首要的是硬件(如下图)。如果有充足的资源,系统管理员一般喜欢用更多的硬件服务器来解决问题。其实很多服务可以放在一起,开发人员可以选择性的优化或者检查一些数据查询。 不过,当带宽或者用户达到某一个数量,我们就需要解决一些和硬件相关当问题。这就是为什么一个合理的硬件计划是非常重要,可以随意的增减或者筛减硬件,在需要的时候。

页面