草庐IT

async-process

全部标签

python - 多处理池 'apply_async' 似乎只调用一次函数

我一直在关注文档以尝试了解多处理池。我想到了这个:importtimefrommultiprocessingimportPooldeff(a):print'f('+str(a)+')'returnTruet=time.time()pool=Pool(processes=10)result=pool.apply_async(f,(1,))printresult.get()pool.close()print'[i]Timeelapsed'+str(time.time()-t)我正在尝试使用10个进程来计算函数f(a)。我在f中放置了一条打印语句。这是我得到的输出:$pythonpoolte

python - 主管错误 "child process was not spawned"

我创建bash来运行python脚本start_queue.shstart_queue.sh的内容python/tmp/my_python_script.py&当我在终端中运行它时,它就起作用了。但是我想使用supervisord来管理它,因为我已经由supervisord管理的django网站很少。但是一开始就报错supervisor:couldn'texec/tmp/start_queue.sh:ENOEXECsupervisor:childprocesswasnotspawned这就是我在supervisord中的配置方式[group:scriptgroup]programs=s

python - 在进程中安全运行代码,在 multithreading.Process 中重定向 stdout

我正在处理来自MOOC的数据集。我有很多python3代码片段需要运行并从中获取结果。为此,我编写了一个循环遍历每个片段的python脚本。对于每个片段我:创建新的StringIO对象将sys.stdout和sys.stderr设置为我的stringIO缓冲区在threading.thread对象中执行代码片段加入话题将结果记录在stringIO缓冲区中恢复标准输出和标准错误这对于“正确”的代码工作正常,但在其他情况下会出现问题:当代码出现无限循环时,thread.join不会终止线程。该线程是一个守护线程,因此它在后台安静地运行,直到我的循环结束。当代码有一个带有print()的无限

Python async/await 下载 url 列表

我正在尝试从FTP服务器下载30,000多个文件,经过谷歌搜索后,使用异步IO似乎是个好主意。但是,下面的代码无法下载任何文件并返回超时错误。我真的很感激任何帮助!谢谢!classpdb:def__init__(self):self.ids=[]self.dl_id=[]self.err_id=[]asyncdefdownload_file(self,session,url):try:withasync_timeout.timeout(10):asyncwithsession.get(url)asremotefile:ifremotefile.status==200:data=awai

python - psutil.Process.get_memory_info中RSS的单位是什么?

当我使用ps-opid,rss-p1时,我看到以下内容:PIDRSS1784但是当我使用psutil查询rss时,我得到了不同的值:>>>p=psutil.Process(1)>>>printp.get_memory_info().rss802816psutil是否有可能使用不同的单位?我在documentation中找不到任何相关信息. 最佳答案 ps的输出以千字节为单位。psutil的RSS(驻留集大小)以字节为单位。>>>802816/7841024来自manps:rssRSSresidentsetsize,thenon-sw

python multiprocessing - 在使用 Process.start(target=func) 调用的函数中访问进程名称

我正在玩python多处理模块,希望能够显示当前正在执行的进程的名称。如果我创建一个继承自multiprocessing.Process的自定义MyProcess类,我可以按以下方式打印进程的名称frommultiprocessingimportProcessclassMyProcess(Process):def__init__(self):Process.__init__(self)defrun(self):#dosomethingnastyandprintthenameprintself.namep=MyProcess()p.start()但是,如果我使用Process类的构造函数

python - Process.join() 和队列不适用于大量数据

这个问题在这里已经有了答案:Scriptusingmultiprocessingmoduledoesnotterminate(1个回答)关闭7年前。我正在尝试拆分for循环,即N=1000000foriinxrange(N):#dosomething使用multiprocessing.Process并且它适用于较小的N值。当我使用更大的N值时出现问题。在p.join()之前或期间发生了一些奇怪的事情并且程序没有响应。如果我在函数f的定义中放置printi而不是q.put(i)一切正常。如果有任何帮助,我将不胜感激。这是代码。frommultiprocessingimportProces

python - Pyspark 错误 : Java gateway process exited before sending its port number

我正在使用Pyspark在JupyterNotebook中运行一些命令,但它抛出错误。我尝试了此链接中提供的解决方案(Pyspark:Exception:Javagatewayprocessexitedbeforesendingthedriveritsportnumber)我尝试执行此处提供的解决方案(例如更改C:Java的路径、卸载JavaSDK10并重新安装Java8,但它仍然抛出同样的错误。我尝试卸载并重新安装pyspark,我也尝试从anaconda提示符运行,但我仍然遇到同样的错误。我使用的是Python3.7,pyspark版本是2.4.0。如果我使用这段代码,我会得到这个

python - 将 yield 与多个 ndb.get_multi_async 一起使用

我正在尝试提高我当前从应用引擎数据存储区查询的效率。目前,我使用的是同步方法:classHospital(ndb.Model):name=ndb.StringProperty()buildings=ndb.KeyProperty(kind=Building,repeated=True)classBuilding(ndb.Model):name=ndb.StringProperty()rooms=ndb.KeyProperty(kind=Room,repeated=True)classRoom(ndb.Model):name=ndb.StringProperty()beds=ndb.Ke

带有 map_async 的 python 多处理池

我尝试在python中将多处理包与池一起使用。我有一个由map_async函数调用的函数f:frommultiprocessingimportPooldeff(host,x):printhostprintxhosts=['1.1.1.1','2.2.2.2']pool=Pool(processes=5)pool.map_async(f,hosts,"test")pool.close()pool.join()这段代码有下一个错误:Traceback(mostrecentcalllast):File"pool-test.py",line9,inpool.map_async(f,hosts,