文章目录
项目需求数据库只保存两天的数据,需要定时清理。本文程序设定每天凌晨3点定时清理数据库,使用threading模块另起线程。
import threading
import datetime
def suspect_current_clear():
from app.db.db import MySql
db = MySql()
date = datetime.datetime.now().replace(hour=0, minute=0, second=0)
date = date - datetime.timedelta(days=1)
sql_date = "DELETE FROM T_SUSPECT_CURRENT WHERE created_time < '%s'" % str(date)
db.delete(sql_date)
# 获取现在时间
now_time = datetime.datetime.now()
# 获取明天时间
next_time = (now_time + datetime.timedelta(days=+1)).replace(hour=3, minute=0, second=0)
# 获取距离明天3点的时间间隔,单位为秒
time_detal = (next_time - now_time).total_seconds()
threading.Timer(time_detal, suspect_current_clear).start()
print now_time
print '定时清理数据库'