目前,我的結構是Flask, Redis, RabbitMQ and Celery
。在我的刮,我使用requests
和BeautifulSoup
。 我的燒瓶在apache和wsgi上運行。這是刺激。用app.run(threaded=True)
使用芹菜刮網站
我有25個API。 10是爲了像標題等一樣抓取URL,剩下的就是爲該URL使用第三方API。
我正在使用chord處理我的API並使用requests
從API獲取數據。
對於我的弦頭我有3名工人,而在我的回調我只有1 我有有ConnectTimeoutError
和MaxRetryError
的一個瓶頸問題。當我讀取某個線程時,它說要爲每個進程執行超時,因爲出現此錯誤意味着您正在重載遠程服務器。
問題是因爲我使用的是和絃,沒有意義使用時間睡眠,因爲25 API調用將同時運行。有沒有人遇到過這個?或者我做錯了什麼?
我讀的線程似乎是說要將請求更改爲pycurl或使用Scrapy。但我不認爲這是因爲ConnectTimeoutError
是關於我的主機超載一個特定的URL服務器。
我的心絃過程:
callback = create_document.s(url, company_logo, api_list)
header = [api_request.s(key) for key in api_list.keys()]
result = chord(header)(callback)
在api_request任務請求被使用。
你有一個鏈接一個文檔或示例代碼? – Bazinga
我爲你添加了一個參考鏈接。 –