Цикл пока продолжается - PullRequest
       22

Цикл пока продолжается

0 голосов
/ 18 января 2019

Предполагается, что приведенный ниже скрипт отправляет данные на URL-адрес при запуске экземпляра Google Compute Engine (с использованием образа ОС, оптимизированного для работы с контейнерами) и работающем приложении. К сожалению, даже если не удается опубликовать данные, данные принимаются, когда приложение работает.

Вывод:

( 'Ошибка', ConnectionError (MaxRetryError ( "HTTPConnectionPool (хост = '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'
    }

1 Ответ

0 голосов
/ 23 января 2019

Я вижу, что вы используете цикл while true, когда он превышает максимальное количество повторных попыток, вы получаете сообщение об ошибке, потому что сервер забанен вами, но этот статус не длится вечно, а когда снимается бан, вы начинаете получить больше данных, потому что пока все еще работает.

Если моя теория не верна, вы можете взглянуть на эту другую ветку.

Превышено максимальное количество попыток с URL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...