python-asyncio相关内容
我已经使用以下命令成功构建了 RESTful微服务 Python asyncio和aiohttp,它们侦听POST事件以收集来自各种供稿器的实时事件. 然后,它构建了一个内存结构,以将事件的最后24小时缓存在嵌套的defaultdict/deque结构中. 现在,我想定期检查该结构到磁盘的位置,最好使用泡菜. 由于内存结构可以大于100MB,所以我想避免在检查点结构所需的时间上暂
..
我的代码一次可以准备1个,我想将其升级为精美的多任务处理程序.我正在寻求有关我可以用来实现目标的帮助. 我的代码按以下顺序执行:解析多页,解析多帖子,解析多图像.我试图用pool.map()进行多页处理,这是Daemonic的KeyError不能有子进程的结果.我对这种多任务处理程序的理解是,解析页面速度很快,解析帖子和图像的时间可能非常长. 如果我在一页上同时解析帖子和图片,该怎么办
..
我们都知道使用asyncio可以大大提高套接字服务器的性能,而且如果我们可以利用cpu中的所有内核(可能通过多处理模块或os.fork()等),显然事情会变得更加糟糕 > 我现在正在尝试构建一个多核套接字服务器演示,其中一个异步套接字服务器在每个内核上侦听并将所有绑定到一个端口.只需创建一个异步服务器,然后使用os.fork(),就可以使进程竞争性地工作. 但是,当我尝试进行分叉时,单核精
..
我走了一段旅程:“我可以从Python网络服务器中挤出多少性能?"这导致我进入AIOHTTP和uvloop.不过,我仍然可以看到AIOHTTP并未充分利用我的CPU.我开始将多重处理与AIOHTTP一起使用.我了解到,有一个Linux内核功能,该功能允许多个进程共享同一TCP端口.这使我开发了以下代码(效果很好): import asyncio import os import socket
..
使用下面的示例,一旦future1完成(不阻止提交future3),future2如何使用future1的结果? from concurrent.futures import ProcessPoolExecutor import time def wait(seconds): time.sleep(seconds) return seconds pool = Proces
..
我尝试使用TOR代理进行抓取,并且所有内容在一个线程中都可以正常工作,但这很慢. 我尝试做一些简单的事情: def get_new_ip(): with Controller.from_port(port = 9051) as controller: controller.authenticate(password="password") contro
..
我想使用一个队列将数据从父进程传递给通过multiprocessing.Process启动的子进程.但是,由于父进程使用Python的新asyncio库,因此队列方法必须是非阻塞的.据我了解,asyncio.Queue用于任务间通信,不能用于进程间通信.另外,我知道multiprocessing.Queue具有put_nowait()和get_nowait()方法,但实际上我需要协程,这些协程仍然
..
我写了一个带有套接字的pythonic服务器.应当同时(并行)接收请求并并行响应. 当我向它发送多个请求时,答复时间比我预期的要多. 服务器: import datetime import asyncio, timeit import json, traceback from asyncio import get_event_loop requestslist = [] loop =
..
我发现在Python 3.4中,用于处理/线程处理的库很少:多重处理与线程与但是我不知道要使用哪个,或者是“推荐的".他们做的是同一件事还是不同?如果是这样,则将哪一个用于什么?我想编写一个在计算机上使用多核的程序.但是我不知道我应该学习哪个图书馆. 解决方案 它们旨在(略有)不同的目的和/或要求. CPython(一种典型的主线Python实现)仍然具有全局解释器锁,因此是多线程应用程序
..
我需要使用AWS IoT MQTT服务.我正在使用“> https://github.com/aws/aws- iot-device-sdk-python 当前. 我的应用程序将使用websockets与另一个服务进行通信,然后发布/订阅MQTT主题以转发/接收消息. 该库是否有可能阻止代码执行?我仍然试图绕过asyncio,并且不确定我应该注意什么.我怎么知道它是否会引起问题?
..
嗨,我正在使用AsyncIOMotorClient对mongoDb进行异步db调用. 下面是我的代码. xyz.py async def insertMany(self,collection_name,documents_to_insert): try: collection=self.database[collection_name] documen
..
要阐明此问题的原因: 使用两个具有相同名称的模块会造成混淆.它们代表什么使它们与众不同? 一个任务可以解决另一个任务不能解决的问题,反之亦然? 解决方案 asyncio文档涵盖了差异: 类asyncio.Future(*, loop=None) 此类几乎与concurrent.futures.Future兼容. 差异: result()和exceptio
..
具有异步生成器,我希望能够异步迭代它.但是,由于最后我遇到了常规的同步for循环,所以我缺少了一些东西或弄乱了一些东西,或者两者都没有: import asyncio async def time_consuming(t): print(f"Going to sleep for {t} seconds") await asyncio.sleep(t) print(
..
我每天晚上都使用TimedRotatingFileHandler从日志记录到新文件.根据记录文档: 系统将通过在扩展名后附加扩展名来保存旧的日志文件. 文件名. 正是这种情况发生时,我出现了权限错误: -记录错误--- PermissionError:[WinError 32]进程无法访问文件 因为它正在被另一个进程使用: 'C:\ Users \ lh \ PythonI
..
想象一下,我有一个基于Aiohttp的Web应用程序: from aiohttp import web import asyncio import logging logger = logging.getLogger(__name__) async def hello(request): logger.info('Started processing request')
..
我有一个带有正在运行的asyncio事件循环的python脚本,我想知道如何在不阻塞事件循环的情况下遍历较大的列表.从而保持循环运行. 我尝试使用__aiter__和__anext__创建一个自定义类,但该类无法正常工作,我还尝试创建一个产生结果但仍会阻塞的async function. 当前: for index, item in enumerate(list_with_tho
..
我有一个协程,我想在Jupyter笔记本中作为“后台作业"运行.我已经看到使用线程完成此操作的方式,但是我想知道是否也有可能参与笔记本的活动循环. 例如,说我有以下课程: import asyncio class Counter: def __init__(self): self.counter = 0 async def run(self):
..
我有一些异步代码,可以在Python解释器(CPython 3.6.2)中正常运行.我现在想在带有IPython内核的Jupyter笔记本中运行此程序. 我可以用它运行 import asyncio asyncio.get_event_loop().run_forever() 虽然这似乎可行,但它似乎也挡住了笔记本电脑,并且在笔记本电脑上玩起来并不好. 我的理解是Jupyte
..
我想了解如何在Python 3.4中使用新的AsyncIO功能,而且我正在努力如何使用 event_loop.add_reader()。从有限的讨论,我发现它看起来像它的阅读标准单独的过程而不是打开文件的内容。真的吗?如果是这样,似乎没有AsyncIO特定的方式来集成标准文件IO,这是否也是如此? 我一直在玩下面的代码。下面的输出给出了/python3.4/selectors.py self
..
我正在使用一个简单的图形网络应用程序,使用asyncio和tkinter。我遇到了将asyncio事件循环与Tk的mainloop组合在一起的问题。如果可能,我想做没有线程,因为这两个库(但特别是tkinter)不是很线程安全。目前,我在一个asyncio协程中使用Tk.update,它只运行tk事件循环的单次迭代: @ asyncio.coroutine def run_tk(tk,
..