将计时器对象存储在数据库中并让程序在Django中连续查询是一种不好的做法吗?

时间:2018-12-28 11:41:23

标签: python django

我正在制作基于浏览器的多人游戏。

在游戏中,注册玩家可以“攻击”其他玩家。玩家“攻击”玩家后,他必须等待30分钟,然后才能重新设置“攻击”能力。

我有一个实现的想法,但是不确定我的方法是否是错误的做法:

我考虑过在数据库中向每个注册用户添加一个“ TimeToReset” 字段,并使用计时器对象填充该字段。玩家“攻击”他的“ TimeToReset” 字段开始从30分钟倒数到0。

,然后让应用程序通过一会儿True循环连续查询数据库中的所有用户,寻找其“ TimeToReset”达到0的用户。然后运行代码以重置其再次“攻击”的能力。

我不确定我的方法是否有效或是否可行,是否会喜欢一些建议。 因此总结

1)是否可以在数据库中存储一个不断变化的计时器/秒表对象?

2)连续运行一会儿true循环查询数据库是否有效?

或者如果有更好的方法来实现此功能,我想听听。

谢谢

1 个答案:

答案 0 :(得分:3)

我不确定这样做会有什么好处。当然,您要做的就是为每个用户存储上次攻击的时间,如果在当前时间之前不到30分钟,则禁止攻击。