我目前正在开发一个Python项目。代码将在特定时间刷新并获取新记录并更新数据库。我想要达到的目标是每15分钟或30分钟刷新一次。以下代码很好,但每天早上00.00才会获取一次新记录。
def check_schedule_task(self):
# update group member list at 00:00 am every morning
t = time.localtime()
if t.tm_hour == 0 and t.tm_min <= 1:
# update group member
Log.debug('update group member list everyday')
self.db.delete_table(Constant.TABLE_GROUP_LIST())
self.db.delete_table(Constant.TABLE_GROUP_USER_LIST())
self.db.create_table(Constant.TABLE_GROUP_LIST(), Constant.TABLE_GROUP_LIST_COL)
self.db.create_table(Constant.TABLE_GROUP_USER_LIST(), Constant.TABLE_GROUP_USER_LIST_COL)
self.wechat.fetch_group_contacts()
我尝试了以下但每秒都刷新
def check_schedule_task(self):
# update group member list at 00:00 am every morning
t = time.localtime()
if t.tm_min == 15 or 30 or 45 or 00:
# update group member
Log.debug('update group member list everyday')
self.db.delete_table(Constant.TABLE_GROUP_LIST())
self.db.delete_table(Constant.TABLE_GROUP_USER_LIST())
self.db.create_table(Constant.TABLE_GROUP_LIST(), Constant.TABLE_GROUP_LIST_COL)
self.db.create_table(Constant.TABLE_GROUP_USER_LIST(), Constant.TABLE_GROUP_USER_LIST_COL)
self.wechat.fetch_group_contacts()
答案 0 :(得分:0)
第if t.tm_min == 15 or 30 or 45 or 00:
行不正确。
你要写的是
if t.tm_min in (15,30,45,00):
尽管您可能会想到,但您的版本并不是如何与Python中的多个值进行比较。比较将始终评估为真,因为即使第一个比较为假,其余值也是真实的。您想要检查该数字列表是否包含您的变量。