次のスクリプトは、Google Compute Engine インスタンス (Container-Optimized OS イメージを使用) が開始され、Docker 化されたアプリが動作しているときに、データを URL に送信することになっています。残念ながら、データの投稿に失敗した場合でも、アプリが動作しているときにデータが受信されます。
出力は次のとおりです。
('Error', ConnectionError(MaxRetryError("HTTPConnectionPool(host='34.7.8.8', port=12345): url: /didi.json で最大再試行回数を超えました: NewConnectionError(': 新しい接続の確立に失敗しました: [ 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'
}