現在、私の体格はFlask, Redis, RabbitMQ and Celery
です。私の掻き取りでは、requests
とBeautifulSoup
を使用しています。 私のフラスコはapacheとwsgiで動作しています。これは刺激的です。 app.run(threaded=True)
セロリを使用した掻爬ウェブサイト
私は25のAPIを持っています。 10はヘッダーなどのようにURLを掻き集めるもので、残りはそのURLにサードパーティのAPIを使用するものです。
requests
を使用してAPIを処理し、APIからデータを取得するためにコードを使用しています。
私のコードのヘッダーには、私のコールバックには1しかありませんが、私は3人しかいません。 ConnectTimeoutError
とMaxRetryError
というボトルネックの問題があります。私はいくつかのスレッドを読んでいるので、このエラーが発生すると、リモートサーバーが過負荷になっているため、すべてのプロセスでタイムアウトが発生したと言われています。
問題は私がコードを使用しているからです.25 API呼び出しが同時に実行されるため、時間スリープを使用する意味がありません。誰かがこれに遭遇しましたか?または私はこれを間違っているのですか?
私が読んでいるスレッドは、リクエストをpycurlに変更したり、Scrapyを使用しているようです。しかし、ConnectTimeoutError
は私のホストが特定のURLサーバーを過負荷にしていることが原因だとは思わない。
私の和音プロセス:api_request仕事の依頼で
callback = create_document.s(url, company_logo, api_list)
header = [api_request.s(key) for key in api_list.keys()]
result = chord(header)(callback)
が使用されています。
あなたがリンクにはありますかドキュメンテーションまたはサンプルコード? – Bazinga
参考リンクを追加しました。 –