我有一个任务,发布后有效期时间为7天,如果这7天没人接,那么他的状态就要标记为已经失效,
这个任务有对接中、已完成、已失效,我在列表时候要根据状态显示这3中状态对应的项目,请问我怎么让已经到失效时间的项目状态更新成已失效, 我想过当我去查数据的时候,顺便更新状态。但是这样效率太低,每次去查都要算时间,有没更好的办法
十分抱歉菜鸟级别没有园豆 我去 没有园豆还真是没人理啊
用SQL查询是否失效,可以用 day(当前时间-发布时间)>7返回失效!而不用是否失效的字段进行判断呢?
这样每次都需要计算 查询的时候比如十万条 就要计算 十万 然后再取前10条这样很崩溃
@keeppuching: 难道不分页么?
1 定时比如说每隔5秒更新一下状态(这个不推荐)。
2 查询的时候,不要用用SQL语句更新状态后,再查询需要的数据。而是先把需要的数据查询出来,然后在内存中把 状态给计算好,然后把 结果呈现出来。
这样每次都需要计算 查询的时候比如十万条 就要计算 十万 然后再取前10条这样很崩溃
Windows service就可以,就是看你需要多久跑一次了,每次跑获取当前时间,减去你的发布时间,大于7天你就更新数据库状态,服务又不会影响你的网站性能
我是按7*24小时来算的 这样不准确
@keeppuching: 和你的7*24小时有什么关系?你可以把时间转化为小时