python-asyncio相关内容

如何将python asyncio与线程结合在一起?

我已经使用以下命令成功构建了 RESTful微服务 Python asyncio和aiohttp,它们侦听POST事件以收集来自各种供稿器的实时事件. 然后,它构建了一个内存结构,以将事件的最后24小时缓存在嵌套的defaultdict/deque结构中. 现在,我想定期检查该结构到磁盘的位置,最好使用泡菜. 由于内存结构可以大于100MB,所以我想避免在检查点结构所需的时间上暂 ..
发布时间:2020-05-13 20:48:46 Python

具有多处理,线程或Asyncio的多任务,具体取决于方案

我的代码一次可以准备1个,我想将其升级为精美的多任务处理程序.我正在寻求有关我可以用来实现目标的帮助. 我的代码按以下顺序执行:解析多页,解析多帖子,解析多图像.我试图用pool.map()进行多页处理,这是Daemonic的KeyError不能有子进程的结果.我对这种多任务处理程序的理解是,解析页面速度很快,解析帖子和图像的时间可能非常长. 如果我在一页上同时解析帖子和图片,该怎么办 ..

使用asyncio时无法使用os.fork()将多个进程绑定到一个套接字服务器

我们都知道使用asyncio可以大大提高套接字服务器的性能,而且如果我们可以利用cpu中的所有内核(可能通过多处理模块或os.fork()等),显然事情会变得更加糟糕 > 我现在正在尝试构建一个多核套接字服务器演示,其中一个异步套接字服务器在每个内核上侦听并将所有绑定到一个端口.只需创建一个异步服务器,然后使用os.fork(),就可以使进程竞争性地工作. 但是,当我尝试进行分叉时,单核精 ..
发布时间:2020-05-13 19:59:57 Python

AIOHTTP-不推荐使用Application.make_handler(...)-添加多处理

我走了一段旅程:“我可以从Python网络服务器中挤出多少性能?"这导致我进入AIOHTTP和uvloop.不过,我仍然可以看到AIOHTTP并未充分利用我的CPU.我开始将多重处理与AIOHTTP一起使用.我了解到,有一个Linux内核功能,该功能允许多个进程共享同一TCP端口.这使我开发了以下代码(效果很好): import asyncio import os import socket ..
发布时间:2020-05-13 19:59:33 Python

我可以以某种方式与子进程共享异步队列吗?

我想使用一个队列将数据从父进程传递给通过multiprocessing.Process启动的子进程.但是,由于父进程使用Python的新asyncio库,因此队列方法必须是非阻塞的.据我了解,asyncio.Queue用于任务间通信,不能用于进程间通信.另外,我知道multiprocessing.Queue具有put_nowait()和get_nowait()方法,但实际上我需要协程,这些协程仍然 ..
发布时间:2020-05-13 19:46:46 Python

Python 3.4中的多处理与多线程与异步

我发现在Python 3.4中,用于处理/线程处理的库很少:多重处理与线程与但是我不知道要使用哪个,或者是“推荐的".他们做的是同一件事还是不同?如果是这样,则将哪一个用于什么?我想编写一个在计算机上使用多核的程序.但是我不知道我应该学习哪个图书馆. 解决方案 它们旨在(略有)不同的目的和/或要求. CPython(一种典型的主线Python实现)仍然具有全局解释器锁,因此是多线程应用程序 ..

AWS IoT Python SDK和异步

我需要使用AWS IoT MQTT服务.我正在使用“> https://github.com/aws/aws- iot-device-sdk-python 当前. 我的应用程序将使用websockets与另一个服务进行通信,然后发布/订阅MQTT主题以转发/接收消息. 该库是否有可能阻止代码执行?我仍然试图绕过asyncio,并且不确定我应该注意什么.我怎么知道它是否会引起问题? ..
发布时间:2020-05-12 20:16:56 Python

parallel.futures和asyncio.futures有什么区别?

要阐明此问题的原因: 使用两个具有相同名称的模块会造成混淆.它们代表什么使它们与众不同? 一个任务可以解决另一个任务不能解决的问题,反之亦然? 解决方案 asyncio文档涵盖了差异: 类asyncio.Future(*, loop=None) 此类几乎与concurrent.futures.Future兼容. 差异: result()和exceptio ..
发布时间:2020-05-10 20:35:45 Python

AsyncGenerator上的Async for循环

具有异步生成器,我希望能够异步迭代它.但是,由于最后我遇到了常规的同步for循环,所以我缺少了一些东西或弄乱了一些东西,或者两者都没有: import asyncio async def time_consuming(t): print(f"Going to sleep for {t} seconds") await asyncio.sleep(t) print( ..
发布时间:2020-05-04 04:31:44 Python

如何在Asyncio中使用Python的内置日志记录(权限错误)

我每天晚上都使用TimedRotatingFileHandler从日志记录到新文件.根据记录文档: 系统将通过在扩展名后附加扩展名来保存旧的日志文件. 文件名. 正是这种情况发生时,我出现了权限错误: -记录错误--- PermissionError:[WinError 32]进程无法访问文件 因为它正在被另一个进程使用: 'C:\ Users \ lh \ PythonI ..
发布时间:2020-05-03 08:37:35 Python

如何在不阻止事件循环的情况下遍历大型列表

我有一个带有正在运行的asyncio事件循环的python脚本,我想知道如何在不阻塞事件循环的情况下遍历较大的列表.从而保持循环运行. 我尝试使用__aiter__和__anext__创建一个自定义类,但该类无法正常工作,我还尝试创建一个产生结果但仍会阻塞的async function. 当前: for index, item in enumerate(list_with_tho ..
发布时间:2020-05-02 07:16:53 Python

如何在Jupyter笔记本中运行Python异步代码?

我有一些异步代码,可以在Python解释器(CPython 3.6.2)中正常运行.我现在想在带有IPython内核的Jupyter笔记本中运行此程序. 我可以用它运行 import asyncio asyncio.get_event_loop().run_forever() 虽然这似乎可行,但它似乎也挡住了笔记本电脑,并且在笔记本电脑上玩起来并不好. 我的理解是Jupyte ..
发布时间:2020-04-25 06:07:42 Python

什么文件描述符对象Python AsyncIO的loop.add_reader()期望?

我想了解如何在Python 3.4中使用新的AsyncIO功能,而且我正在努力如何使用 event_loop.add_reader()。从有限的讨论,我发现它看起来像它的阅读标准单独的过程而不是打开文件的内容。真的吗?如果是这样,似乎没有AsyncIO特定的方式来集成标准文件IO,这是否也是如此? 我一直在玩下面的代码。下面的输出给出了/python3.4/selectors.py self ..
发布时间:2017-11-04 21:23:24 Python

可以仅运行asyncio事件循环的一个步骤

我正在使用一个简单的图形网络应用程序,使用asyncio和tkinter。我遇到了将asyncio事件循环与Tk的mainloop组合在一起的问题。如果可能,我想做没有线程,因为这两个库(但特别是tkinter)不是很线程安全。目前,我在一个asyncio协程中使用Tk.update,它只运行tk事件循环的单次迭代: @ asyncio.coroutine def run_tk(tk, ..
发布时间:2017-08-31 03:56:33 Python