优化更新性能

master
Abbey 5 years ago
parent a3762df90f
commit 05b2a37a27
  1. 12
      app/utils/header.py
  2. 2
      app/utils/updatefile.py

@ -446,6 +446,7 @@ def AddResource(data,user=GetConfig('default_pan')):
class GetItemThread(Thread):
def __init__(self,queue,user):
super(GetItemThread,self).__init__()
self.insert_items=[]
self.queue=queue
self.user=user
share_path=GetConfig('od_users').get(user).get('share_path')
@ -459,6 +460,12 @@ class GetItemThread(Thread):
sp=sp[:-1]
self.share_path=sp
def insert_new(self,item):
self.insert_items.append(item)
if len(self.insert_items)>=20:
mon_db.items.insert_many(self.insert_items)
self.insert_items=[]
def run(self):
while not self.queue.empty():
time.sleep(0.5) #避免过快
@ -533,6 +540,7 @@ class GetItemThread(Thread):
path=convert2unicode(value['name'])
path=urllib.unquote('{}:/{}'.format(self.user,path))
item['path']=path
# self.insert_new(item)
subfodler=mon_db.items.insert_one(item)
if value.get('folder').get('childCount')==0:
continue
@ -568,6 +576,7 @@ class GetItemThread(Thread):
path=convert2unicode(value['name'])
path=urllib.unquote('{}:/{}'.format(self.user,path))
item['path']=path
# self.insert_new(item)
subfodler=mon_db.items.insert_one(item)
if value.get('folder').get('childCount')==0:
continue
@ -614,7 +623,8 @@ class GetItemThread(Thread):
item['order']=1
else:
item['order']=2
mon_db.items.insert_one(item)
# mon_db.items.insert_one(item)
self.insert_new(item)
else:
InfoLogger().print_r('{}\'s size is zero'.format(url))
if data.get('@odata.nextLink'):

@ -78,8 +78,8 @@ def UpdateFile(renew='all',fresh_user=None):
InfoLogger().print_r('[* UpdateFile] user:{}, method:{}'.format(fresh_user,renew))
if fresh_user is None or fresh_user=='':
if renew=='all':
mon_db.items.delete_many({})
InfoLogger().print_r('[* UpdateFile] delete local data;check file num:{}'.format(mon_db.items.count()))
mon_db.items.delete_many({})
clearRedis()
for user,item in od_users.items():
if item.get('client_id')!='':

Loading…
Cancel
Save