Tag: aiohttp

Asyncio und rabbitmq (asynqp): wie man aus mehreren Warteschlangen gleichzeitig verbraucht

Ich versuche, mehrere Warteschlangen gleichzeitig mit python, asyncio und asynqp zu verbrauchen. Ich verstehe nicht, warum mein asyncio.sleep() Funktionsaufruf keine Wirkung hat. Der Code pausiert dort nicht. Um fair zu sein, verstehe ich eigentlich nicht, in welchem ​​Kontext der Callback ausgeführt wird und ob ich die Event-Loop überhaupt kontrollieren kann (so dass der asyncio.sleep() Aufruf […]

Aiohttp, wie man Zugangsprotokoll protokolliert?

Ich versuche, einen grundlegenden Logger für aiohttp arbeiten zu bekommen, aber es gibt einfach keine Log-Nachrichten, die protokolliert werden. Note_ logging benutzerdefinierte Nachrichten funktioniert wie erwartet. async def main_page(request: web.Request): return "hello world" def setup_routes(app): app.router.add_get('/', main_page) async def init(loop): # load config from yaml file in current dir conf = load_config(str(pathlib.Path('.') / 'async_config.yml')) # […]

Python 3.5 async für Blöcke der Ioloop

Ich habe einen einfachen aiohttp-Server mit zwei Handlern. Zuerst gibt es einige Berechnungen im async for Loop. Zweitens gibt man einfach Textantwort zurück. not_so_long_operation gibt die 30- not_so_long_operation Fibonacci-Nummer mit der langsamsten rekursiven Implementierung zurück, die etwa eine Sekunde dauert. def not_so_long_operation(): return fib(30) class arange: def __init__(self, n): self.n = n self.i = 0 […]

Python aiohttp Anforderung gestoppt aber keine Ausnahme erhoben

Ich benutze aiohttp , um die URL anzufordern. Die meiste Zeit läuft es normal, aber manchmal hört es auf, ohne irgendeine Ausnahme zu erheben. Wie Sie im Code sehen können, fange ich alle Ausnahmen, aber wenn es aufhört, wird kein Protokoll von Ausnahmen gedruckt. Die Stämme sehen aus wie: get_live_league_games: while True try yield from […]

Python 3.5 aiohttp Blöcke auch bei Verwendung von async / warnen

Ich laufe einen Test aiohttp Webserver: #!/usr/bin/env python3 from aiohttp import web import time import asyncio import random import string import logging logger = logging.getLogger('webserver') logger.setLevel(logging.INFO) handler = logging.StreamHandler() formatter = logging.Formatter('%(asctime)s – %(name)s – %(levelname)s – %(message)s') handler.setFormatter(formatter) logger.addHandler(handler) def randomword(length): return ''.join(random.choice(string.ascii_lowercase) for i in range(length)) async def hello(request): sleeptime = 10 # […]

1 milion fordert mit aiohttp / asyncio – buchstäblich

Ich folgte diesem Tutorial: https://pawelmhm.github.io/asyncio/python/aiohttp/2016/04/22/asyncio-aiohttp.html und alles funktioniert gut, wenn ich wie 50 000 Anfragen mache. Aber ich muss 1 milion API Anrufe machen und dann habe ich Problem mit diesem Code: url = "http://some_url.com/?id={}" tasks = set() sem = asyncio.Semaphore(MAX_SIM_CONNS) for i in range(1, LAST_ID + 1): task = asyncio.ensure_future(bound_fetch(sem, url.format(i))) tasks.add(task) responses = […]

Asyncio RuntimeError: Event Loop ist geschlossen

Ich versuche, eine Reihe von Anfragen (~ 1000) mit Asyncio und die aiohttp Bibliothek zu machen, aber ich laufe in ein Problem, dass ich nicht finden kann, viele Infos auf. Wenn ich diesen Code mit 10 URLs laufe, läuft es ganz gut. Wenn ich es mit 100 + urls renne, bricht es und gibt mir […]

Wie man Python-Asyncio mit Fäden kombiniert?

Ich habe erfolgreich einen RESTful Microservice mit Python asyncio und aiohttp gebaut, der ein POST-Event hört, um Echtzeit-Events von verschiedenen Feedern zu sammeln. Es baut dann eine In-Memory-Struktur auf, um die letzten 24h von Ereignissen in einer verschachtelten defaultdict / deque-Struktur zu cache. Jetzt möchte ich regelmäßig überprüfen, dass Struktur auf Disc, vorzugsweise mit Pickle. […]

Python ist die beste Programmiersprache der Welt.