我的网站提供了有关不同服务器的deatails。 我已经使用请求来检查哪个服务器ILO IP没有通过http工作,哪个不工作。
使用请求后..页面加载速度超慢!
我的服务器检查许多服务器的ILO Ips,如果服务器坏了,它会将IP显示为文本,如果没有,则显示到ILO的链接(IP)。
您知道如何让服务器加载速度更快吗? 感谢..
models.py - 来自django.db导入模型
导入请求
class serverlist(models.Model):
ServerName = models.CharField(max_length = 30,blank=True)
Owner = models.CharField(max_length = 50,blank=True)
Project = models.CharField(max_length = 30,blank=True)
Description = models.CharField(max_length = 255,blank=True)
IP = models.CharField(max_length = 30,blank=True)
ILO = models.CharField(max_length = 30,blank=True)
Rack = models.CharField(max_length = 30,blank=True)
Status = models.CharField(max_length = 30,blank=True)
def checkUrlAvailable(self):
ip_check = 'https://' + self.ILO
resp = requests.head(ip_check,allow_redirects=False)
if resp.status_code == 303:
return True
else:
return False
index.html -
{% if server.checkUrlAvailable is True %}
<a href="//{{ server.ILO }}"> {{ server.ILO }} </a>
{% else %}
{{ server.ILO }}
{% endif %}
答案 0 :(得分:1)
列表中有多少台服务器?我不会像这样在python中进行可用的检查。但是使用javascript,所以你可以启动多个异步检查,一个状态代码更改链接上的类或者甚至“禁用”锚元素。使用JQuery ajax(类型HEAD)。
否则,我会对您的checkUrlAvailable
函数进行一些缓存。但这并没有改变这样一个事实:做一个请求需要一些时间,甚至是HEAD
。因此,在大型列表(以及许多请求)上,它开始加起来。