刚注册,所以我可以问这个问题。
现在我有这个代码可以阻止一个类每五分钟更新一次:
now = datetime.now()
delta = now - myClass.last_updated_date
seconds = delta.seconds
if seconds > 300
update(myClass)
else
retrieveFromCache(myClass)
我想通过允许myClass每5分钟更新两次而不是只修改一次来修改它。
我正在考虑创建一个列表来存储myClass最后两次更新,并与if语句中的那些进行比较,但我担心如果我走这条路线,我的代码会变得复杂和难以阅读。
有更简单的方法吗?
答案 0 :(得分:1)
你可以用一个简单的计数器来做。概念是get_update_count
跟踪课程更新的频率。
if seconds > 300 or get_update_count(myClass) < 2:
#and update updatecount
update(myClass)
else:
#reset update count
retrieveFromCache(myClass)
我不确定您如何唯一地识别myClass.
update_map = {}
def update(instance):
#do the update
update_map[instance] = update_map.get(instance,0)+1
def get_update_count(instance):
return update_map[instance] or 0