某些情况下获取任务列表可能会漏
cunhan opened this issue · 3 comments
cunhan commented
binux commented
应该不是这个问题,我的查询语句是
SELECT * FROM task WHERE create_time < create_time_of_start_task_id ORDER BY create_time, id DESC.
列表是按照create_time排序的,start_task_id是列表中的最后一条,也就是说,总是能取出最老的一条的id
start_task_id只是用于取出当前的create_time到哪了,这么设计是为了order可以随意变化,当实际查询的时候会将id转换回order的字段
你用的是SQLite吗?出现这个问题的原因我觉得SQLite对多线程之间数据同步的问题
cunhan commented
不过,db_task_manager的get_task_list里面有这样一句:query = query.filter(db.Task.id < start_task_id) 呢
这不是在查询语句里加入了一个条件 id < start_task_id么?
PS:是用的SQLite
binux commented
这么说来确实会呢。。