假設:
def get(url): #这里是get请求 return url for i in urls: get(i) #这里采用循环去调用请求 #这样速度好像比较慢,有什么方法可以 #当多个请求时,也可以快速完成程序
謝謝了
学习是最好的投资!
>>> from eventor import Eventor >>> urllist = ["https://a.com", ....] >>> def get(url): # 网络IO耗时 return url >>> e = Eventor(threadcount=3, taskunitcount=3, func=get, interval=1) >>> result = e.run_with_tasklist(urllist) >>> print(result)
自己根據需求選擇 多核心多進程,還是多線程,協程加快處理。
詳情移步:https://github.com/kute/eventor
後續再 加進 async await,celery worker等
幾個方法,並且可以結合
coroutine
multiprocess
multithread
celery worker
最簡單的改造就是用multiprocessing.dummy 執行多執行緒任務,可以查一下,設定好執行緒數量,然後對程式不需要太大改造,大體就能用。
自己根據需求選擇 多核心多進程,還是多線程,協程加快處理。
詳情移步:https://github.com/kute/eventor
後續再 加進 async await,celery worker等
幾個方法,並且可以結合
coroutine
multiprocess
multithread
celery worker
最簡單的改造就是用multiprocessing.dummy 執行多執行緒任務,可以查一下,設定好執行緒數量,然後對程式不需要太大改造,大體就能用。