这不是典型的代码问题,而是我现在面临的设计问题。你知道吗
假设我有一个网页(不是我的),我想把一些信息删掉。对我来说,最重要的信息是当(datetime)character登录时,以及当他注销时,但我也收集其他信息。登录是从2点知道的(见下文),但是注销我必须计算 我可以访问2页:
我只做了两次手术任务.py它们是:
所以,它现在的工作原理是(每一分钟,感谢芹菜,我这样做):
问题是,我不确定这是不是个好主意。 我的型号.py:(评论只是为了澄清我在做什么)
class Guild:
name = models.CharField(max_length=100)
class Player(models.Model):
#FK:
guild = models.CharField(max_length=50, null=True, blank=True) # Does he have guild?
name = models.CharField(max_length=100, unique=True)
sex = models.CharField(choices=SEX_CHOICES, max_length=7) # Male / Female
level = models.PositiveSmallIntegerField()
vocation = models.CharField(choices=VOCATION_CHOICES, max_length=50) # His class
status = models.CharField(choices=ONLINE_CHOICES, max_length=10) # Offline / Online
lastlogin = models.DateTimeField()
def __str__(self):
return self.name
class Deaths(models.Model):
text = models.CharField(max_length=500)
killed = models.ForeignKey(Player, null=True, on_delete=models.CASCADE, related_name='killed') # Who got killed
killer = models.ForeignKey(Player, null=True, on_delete=models.CASCADE, related_name='killer') # Who killed him
date = models.DateTimeField() # When he died?
level = models.PositiveSmallIntegerField() # On which level player died
pvp = models.BooleanField() # Death was due to PvP or PvE?
class Meta:
ordering = ('date',)
class OnlineDetails(models.Model):
player = models.ForeignKey(Player, on_delete=models.CASCADE)
login = models.DateTimeField() # When he logged in
logout = models.DateTimeField(null=True, blank=True) # When he logged off
def __str__(self):
return self.player.name + " " + str(self.logout) if self.logout else self.player.name
class Meta:
ordering = ('logout', 'login')
它是有效的,但我想知道这是否是最好的方法。实际上,我认为这样做很糟糕,因为我必须在一分钟内扫描超过500个字符,这使得使用“antyddos”盾很困难。你知道吗
你有什么更好的解决方案或技术我应该拿起? 我在python和django方面都不是最好的,还在学习。你知道吗
当然你可以测量整个过程,需要多长时间等等,但是我认为更新500个条目只需要几毫秒。更大的问题可能是每分钟取消500个条目,这意味着每秒必须向它们发送约8个请求(基于第2点)。不是第1点)。我认为你在放弃第一点。每一分钟,每一次改变,你都会丢弃掉那些丢失的字符。第一点根本不是问题。解析如此多的页面可能很困难,但并非不可能。此外,我建议您下载页面并将其存储一段时间,如果在此过程中出现任何问题,那么下载页面和在其他线程中并行解析页面也会更快,因为最困难的时间是发送请求和下载响应。到事务自动提交。。。这可能是多线程环境中的问题。如果值得冒不知道发生了什么的风险的话,你应该试着衡量有没有这个过程。你知道吗
相关问题 更多 >
编程相关推荐