Мой почтовый запрос остановится через десять часов - PullRequest
0 голосов
/ 15 мая 2018

Когда я тестирую переключатель высокой доступности, каждую минуту я отправляю запрос на добавление хоста.

import requests
import json
import time
from itertools import product
from requests.packages.urllib3.exceptions import InsecureRequestWarning

url = 'https://ip/api/hosts'
access_token = 'token'
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
num = 1
for i,j in product(range(256),range(256)):
    ip = "xx.xx.{0}.{1}".format(i,j)
    postData = {'departmentId': 3, 'hostIp': ip, 'hostname': "{0}_times".format(num) }
    headers = {'AccessToken': access_token, 'Content-Type': 'application/json'}
    try:
        r = requests.post(url=url, headers=headers, data=json.dumps(postData), verify=False)
        print r
    except requests.exceptions.ConnectionError:
        r.status_code = "Connection refused"
        print r.status_code
    time.sleep(60)
    num += 1

Я выполняю этот скрипт с этой командой: python -u request_Add_Host.py >> ./log.txt &

Содержимое журнала выглядит так:

...
<Response [201]>
...
Connection refused
...

Лог остановился на отметке 600 строк. После замены time.sleep(60) на time.sleep(30) было около 1300 строк.

  • С помощью команды tcpdump dst host <ip> я не могу поймать пакеты.
  • С помощью команды ps aux | grep <scripts name> я вижу ход выполнения сценария с состоянием S.
  • Я могу вручную добавить хост в сети или снова выполнить скрипт для добавления. Оба могут быть успешными.

1 Ответ

0 голосов
/ 15 мая 2018

Журнал остановился на скорости около 600 строк.

Итак, предполагая, что запросы занимали незначительное количество времени, он работал в течение десяти часов (600 минут).

После замены time.sleep(60) на time.sleep(30) было около 1300 строк.

Также десять часов.

Все признаки указывают на то, что это связано со временем,Возможно, срок действия используемого вами токена истекает через десять часов?

...