首页 > TAG信息列表 > python-asyncio
python-在ApplicationSession的注册终结点内访问RPC调用者的IP和HTTP连接头
我正在将Autobahn 0.9.2与带有asyncio的Python 3.4配合使用. 问题:使用WAMP,是否可以从RPC端点内部访问充当调用方IP和HTTP连接头的对等方?建立连接后,此信息是否保留?如果没有,我将如何开始扩展一些工厂来支持这一点? 我的目标很简单:我想拥有一个RPC端点,以对连接的对等方(呼叫方)的IPpython-使用asyncio_mongo插入mongodb
我有一种情况,我需要以异步模式在mongodb上添加数据,因此我使用了asyncio-mongodb包来添加数据. 如果我不填写用户名/密码,一切正常,但是当我填写用户名/密码时,出现此错误: asyncio_mongo._pymongo.errors.OperationFailure: {'code': 16544, 'ok': 1.0, 'n': 0, 'err': 'not authpython-将@property装饰器与@ asyncio.coroutine一起使用而不会产生可能的收益吗?
我想按照以下方式上课 Foo(object): @property @asyncio.coroutine def bar(self): # This will need to run some blocking code via loop.run_in_executor() return 'bar' 然后我想访问属性而不必从 # In a loop... foo = Foo() foo.bar #This在Asyncio中执行“忘却”任务
使用Python的asyncio库时,如何启动任务然后不关心它的完成? 例 @asyncio.coroutine def f(): yield From(asyncio.sleep(1)) print("world!") @asyncio.coroutine def g(): desired_operation(f()) print("Hello, ") yield From(asyncio.sleep(2)) >如何在Python中使用aiohttp或asyncio创建并行循环?
我想使用rethinkdb .changes()功能向用户推送一些消息.该消息应在没有用户任何请求的情况下发送. 我将rethinkdb与aiohttp和websockets一起使用.这个怎么运作: >用户发送消息 >服务器将其放入rethinkdb>我需要什么:另一个循环使用rethinkdb .changes函数将更新发送给已连接的用户 这python-使用yield from时协程在哪个事件循环中运行?
当我在couroutine foo中从some_coroutine()中调用yield时,some_coroutine是否在与foo当前正在运行的相同的偶数循环中进行调度?一个例子: async def foo(): yield from asyncio.sleep(5) loop = asyncio.get_event_loop() # this could also be a custom event loop loop.run_u我如何异步计划文件系统统计操作?
将一些代码转换为使用asyncio,我想尽快将控制权交还给asyncio.BaseEventLoop.这意味着避免阻塞等待. 如果没有异步,我会使用os.stat()或pathlib.Path.stat()获得例如文件大小.有没有办法通过asyncio有效地做到这一点? 我可以只包装stat()调用,以便将来与described here类似吗?解决方python-如果事件循环已经在运行,如何等待协程在方法中同步完成?
我正在尝试创建一个基于Python的CLI,该CLI通过websockets与Web服务进行通信.我遇到的一个问题是CLI间歇性地向Web服务发出的请求无法得到处理.查看来自Web服务的日志,我可以看到问题是由以下事实引起的:套接字关闭的同时(甚至在关闭之后)经常发出这些请求: 2016-09-13 13:28:10,930Python:Qt-Gui和一些任务
我正在尝试使用Qt-Gui并实施一些任务以在后台进行工作并更新gui中的内容.这是我正在处理的代码(简化到最低限度).没有gui,即打印到终端,此代码可以正常工作: #!/usr/bin/env python3 import sys import asyncio from PyQt4 import QtCore, QtGui, uic qtCreatorFile = "gui_mini如何在执行程序任务仍在等待控制台输入的情况下干净退出python异步应用
我正在尝试将控制台输入侦听器添加到异步应用程序,但遇到了一个有趣的问题. 以下代码不会在应有的时候终止,而是在脚本终止后继续等待输入: import asyncio loop = asyncio.get_event_loop() async def quit_after(timeout): await asyncio.sleep(timeout) print('mainAsyncio异常处理程序:直到事件循环线程停止才被调用
我在我的asyncio事件循环上设置了一个异常处理程序.但是,它似乎直到事件循环线程停止后才被调用.例如,考虑以下代码: def exception_handler(loop, context): print('Exception handler called') loop = asyncio.get_event_loop() loop.set_exception_handler(exception_handAiohttp:如何在标头中发送字节?
我正在尝试通过aiohttp发送字节作为标头值: payload = { #ommited for brevity } encoded_payload = str.encode(json.dumps(payload)) b64 = base64.b64encode(encoded_payload) # sign the requests signature = hmac.new(str.encode(keys['private']), b64, hashlib.sha384).hpython-Discord.py Bot的权限系统
我正在使用discord.py和asyncio制作discord机器人.该机器人具有类似kick和ban的命令,这些命令显然不适合普通用户使用. 我想创建一个简单的系统,该系统将使用ctx.message.author来检测用户角色具有的权限,以获取发送命令的用户. 我不希望该漫游器检测到特定的角色名称,因为这些名称异步中的奇怪AssertionError
我正在尝试使用以下代码将超时标记为将来完成: import asyncio @asyncio.coroutine def greet(): while True: print('Hello World') yield from asyncio.sleep(1) @asyncio.coroutine def main(): future = asyncio.async(greet()) loop.call_latepython-为什么asyncio.Queue无法按预期工作?
我正在编写简单的生产者/消费者程序. import zmq @asyncio.coroutine def receive_data(future,s): print("begin to recv sth from.....socket" my_data = s.recv() future.set_result(my_data) @asyncio.coroutine def producer(loop,q,s): wPython队列将运行异步异步协程的对象与主线程输入关联
我有一个运行脚本,其中主线程从stdin接收输入,然后使用队列将其传递给子线程.在子线程中,我使用异步协程在套接字上启动侦听器并等待连接.建立连接后,我现在可以从主线程通过侦听器发送数据了. 一切似乎都足够好,但是由于asyncio.BaseEventLoop不是线程安全的,我会遇到问题吗? 这是我应该在asyncio中使用协议还是流?
我对asyncio刚起步,想知道哪种API在更好的实践,协议或流方面比其他API更好? 对我来说,协议(基于回调的API)似乎更易于使用,因为已经提供了connection_made和data_received方法.使用流(基于协程的API),您必须自己管理连接和读取数据,但是我觉得它更多地利用了协程的概念,这对我来说似的-AssertionError:收益率未用于未来
这段代码: import asyncio async def wee(): address = 'localhost' port = 5432 reader, writer = asyncio.open_connection(address, port) message = '/t' print('Send: %r' % message) writer.write(message.encode()异步锁优化错误
更新:编辑标题以关注主要问题.请参阅我的答案以获取完整更新. 在以下代码中,a()和b()相同.它们每个从0到9同时计数,同时每2个计数获取并产生一个锁. import asyncio lock = asyncio.Lock() def a (): yield from lock.acquire() for i in range(10): print('a: ' + str(i))如何处理python asyncio中的tcp客户端套接字自动重新连接?
我正在使用python asyncio流连接到多个套接字服务器,但是当服务器关闭时,我的代码无法自动重新连接. 我需要的是,当服务器关闭时,我的脚本将尝试每5秒重新连接一次,直到连接并开始再次解析数据为止. import asyncio server1 = {'host': '192.168.1.51', 'port': 11110} server2 =我如何在aiomysql中使用连接池
我只是不知道如何通过阅读aiohttp examples或Google来重用aiomysql连接池. 这是我的代码 import aiomysql import asyncio async def select(loop, sql): pool = await aiomysql.create_pool(host='127.0.0.1', port=3306, user='roopytest-使用asyncio进行python测试
是否可以从函数将执行返回到事件循环.任务一旦完成将返回功能并继续执行? 我正在尝试使用pytest-asyncio插件 例: @pytest.mark.asyncio async def test_async1(event_loop): print('start 1') res = event_loop.create_task( send_async_request("http://test.com"python-aiohttp:通过域限制每秒请求数
我正在编写一个Web搜寻器,该爬行器正在为许多不同的域运行并行提取.我想限制每个单独域的每秒请求数,但我不在乎打开的连接总数或所有域中每秒的请求总数.我想最大程度地增加总体上打开的连接和每秒的请求数,同时限制对单个域的每秒请求数. 我可以找到所有当前存在的示例,要么(1)限如何等待另一个线程提交的回调完成?
我有两个共享状态的Python线程A和B.有一点,A提交了一个由B在其循环上运行的回调,如下所示: # This line is executed by A loop.call_soon_threadsafe(callback) 此后,我想继续做其他事情,但是在执行此操作之前,我想确保回调已由B运行.有什么办法(除了标准线程同步原语之外)使A等python-即使忽略CancelledError,如何取消任务执行?
这是取消任务的示例: import asyncio async def some_func(): await asyncio.sleep(2) print('Haha! Task keeps running!') await asyncio.sleep(2) async def cancel(task): await asyncio.sleep(1) task.cancel() async def main(): func_ta