TCP isteklerini ayrı bir sunucuya gönderen bir API sunucusu oluşturmak için aiohttp kullanıyorum. TCP isteklerini gönderen modül eşzamanlı ve amaçlarım için bir kara kutu. Yani benim sorunum, bu isteklerin tüm API'yi engellemesidir. Modül isteklerini, API'nın geri kalanını engellemeyen bir eşzamansız bir coroutine sarmak için bir yönteme ihtiyacım var.Senkronize bir işlevi bir async coroutine'de nasıl kaydederim?
async def sleep_async(delay):
# After calling sleep, loop should be released until sleep is done
yield sleep(delay)
return 'I slept asynchronously'
. Kooperatif çoklu görev ile istenen davranışa sahip olamazsınız, çünkü engellenmiş koroutin yalnızca istek bittikten sonra kontrol (verim) verir. –
aiohttp http için iyidir. Http olmayan TCP için asyncio yeterlidir. – Udi