簡體   English   中英

For While 循環繼續運行

[英]For While loop keeps running

當 Google Compute Engine 實例(使用 Container-Optimized OS 映像)啟動並且 dockerized 應用程序工作時,下面的腳本應該將數據發送到 url。 不幸的是,即使它無法發布數據,數據也會在應用程序運行時收到。

輸出是:

('Error', ConnectionError(MaxRetryError("HTTPConnectionPool(host='34.7.8.8', port=12345): Max retries exceeded with url: /didi.json (Caused by NewConnectionError(': Failed to build a new connection: [ Errno 111] 連接被拒絕',))",),))

它來自GCE嗎?

這是python代碼:

for i in range(0,100):
    while True:
        try:
            response = requests.post('http://%s:12345/didi.json' % ip_of_instance, data=data)
        except requests.exceptions.RequestException as err:
            print ("Error",err)
            time.sleep(2)
            continue
        break

編輯 - 以下是發布請求的參數:

data = {
      'url': 'www.website.com',
      'project': 'webCrawl',
      'spider': 'indexer',
      'setting': 'ELASTICSEARCH_SERVERS=92.xx.xx.xx',
      'protocol': 'https',
      'scraper': 'light'
    }

我看到的是,您正在使用 while true 循環,當它超過最大重試次數時,您會收到錯誤消息,因為您被服務器禁止,但此狀態不會永遠持續下去,並且當禁止被刪除時,您會開始獲得更多數據因為雖然還在運行。

如果我的理論不正確,您可以查看其他線程。

URL 超過最大重試次數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM