Python 3.x Python:如何小批量处理异步IO?

Python 3.x Python:如何小批量处理异步IO?,python-3.x,multithreading,python-asyncio,Python 3.x,Multithreading,Python Asyncio,我有以下代码: import asyncio import time start = time.perf_counter() longList = ['URL1', 'URL2', 'URL3','URL4','URL5','URL6','URL7','URL8','URL9','URL10'] class App(): def __init__(self, smallList): self.smallList = smallList async def run

我有以下代码:

import asyncio
import time

start = time.perf_counter()
longList = ['URL1', 'URL2', 'URL3','URL4','URL5','URL6','URL7','URL8','URL9','URL10']
class App():
    def __init__(self, smallList):
        self.smallList = smallList
    async def run(self):
      print(self.smallList)

i=0
for url in longList[::2]:
  smallList = [longList[i],longList[i+1]]
  app = App(smallList)
  try:
      asyncio.run(app.run())
  except (KeyboardInterrupt, SystemExit):
      app.stop()
  i=+2

endtime = (time.perf_counter() - start)/60
print(f"Process time: {endtime:,.2f} minutes")
这将产生以下结果:

['URL1', 'URL2']
['URL3', 'URL4']
['URL3', 'URL4']
['URL3', 'URL4']
['URL3', 'URL4']
Process time: 0.00 minutes
显然,这不是我的意图。我希望输出是

['URL1', 'URL2']
['URL3', 'URL4']
['URL5', 'URL6']
['URL7', 'URL8']
['URL9', 'URL10']
Process time: 0.00 minutes

你能指出我做错了什么吗?这样做的目的是批量处理URL,以免淹没web服务器。请原谅代码不是pythonic。是否有任何改进使其更具吸引力?谢谢。

您有一个输入错误:
i=+2
应该是
i+=2
;目前,您总是将
i
设置为
+2
(即设置为2)。