python - 我的发帖请求将在十小时后停止
问题描述
当我测试高可用性交换机时,我每分钟都会发送一个发布请求以添加主机。
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 &
日志内容是这样的:</p>
...
<Response [201]>
...
Connection refused
...
日志在大约 600 行处停止。替换为 后time.sleep(60)
,time.sleep(30)
大约是 1,300 行。
- 通过命令
tcpdump dst host <ip>
,我无法捕获任何数据包。 - 通过命令
ps aux | grep <scripts name>
,我可以看到状态为 S 的脚本的进度。 - 我可以在网络上手动添加主机或再次执行脚本添加。两者都可能成功。
解决方案
日志在大约 600 行处停止。
因此,假设请求花费的时间可以忽略不计,它会运行十小时(600 分钟)。
替换为 后
time.sleep(60)
,time.sleep(30)
大约是 1,300 行。
还有十个小时。
所有迹象都表明这是与时间有关的事情。也许您使用的访问令牌会在十小时后过期?
推荐阅读
- java - javac 或 Diagnostic.java 编译时错误代码列表而不是消息
- c++ - 访问 TXT 文件中的特定记录的 C++ 问题
- r - 根据其他列中的条件创建具有值的列
- curl - 将新的人工制品从 Gitlab 复制到 Jira XRAY 存储库
- python - Pandas:保持输出直到参数 X 发生变化
- r - 从面板或时间序列数据计算马尔可夫模型的转移矩阵
- python - 如何在 Python Curve_fit 上设置两个参数之间的不等式?
- javascript - 邀请计数器故障(我认为这是一个故障)
- python - 如何在 api 中获取特定值的信息
- mongodb - mongodb go:`mongo:结果中没有文档`