支持自定义线程数

master
Abbey 5 years ago
parent 2ec67772ae
commit 7bbbac9bf5
  1. 3
      app/admin/setting.py
  2. 13
      app/templates/admin/setting/sys_setting.html
  3. 2
      app/utils/header.py
  4. 4
      app/utils/pan_move.py
  5. 3
      app/utils/updatefile.py
  6. 2
      app/utils/upload.py
  7. 2
      config.py
  8. 3
      self_config.py.sample
  9. 8
      update.sh

@ -57,6 +57,7 @@ def sys_setting():
balance=request.form.get('balance','False')
show_secret=request.form.get('show_secret','no')
encrypt_file=request.form.get('encrypt_file','no')
thead_num=request.form.get('thead_num','5')
set('downloadUrl_timeout',downloadUrl_timeout)
set('allow_site',allow_site)
@ -83,6 +84,7 @@ def sys_setting():
set('order_m',order_m)
set('show_secret',show_secret)
set('encrypt_file',encrypt_file)
set('thead_num',thead_num)
# reload()
redis_client.set('downloadUrl_timeout',downloadUrl_timeout)
@ -112,6 +114,7 @@ def sys_setting():
redis_client.set('order_m',order_m)
redis_client.set('show_secret',show_secret)
redis_client.set('encrypt_file',encrypt_file)
redis_client.set('thead_num',thead_num)
flash('更新成功')
resp=MakeResponse(redirect(url_for('admin.sys_setting')))
return resp

@ -22,16 +22,25 @@
<input class="mdui-textfield-input" type="text" name="admin_prefix" value="{{GetConfig('admin_prefix')}}"/>
</div>
<div class="mdui-textfield">
<h4>防盗链设置不限制则设置no-referrer仅限3pp.me调用则设置3pp.me可调用域名通过英文逗号分隔</h4>
<input class="mdui-textfield-input" type="text" name="allow_site" value="{{GetConfig('allow_site')}}"/>
</div>
<div class="mdui-textfield">
<h4>缓存过期时间()非自动刷新文件列表不懂勿改</h4>
<input class="mdui-textfield-input" type="text" name="downloadUrl_timeout" value="{{GetConfig('downloadUrl_timeout')}}"/>
</div>
<div class="mdui-textfield">
<h4>防盗链设置不限制则设置no-referrer仅限3pp.me调用则设置3pp.me可调用域名通过英文逗号分隔</h4>
<input class="mdui-textfield-input" type="text" name="allow_site" value="{{GetConfig('allow_site')}}"/>
<h4>线程数</h4>
<small><p>网盘搬家批量上传文件夹更新文件时的线程最好<font color="red">不要超过10</font></p>
<p>配置低的机器可以配小一点</small>
<input class="mdui-textfield-input" type="text" name="thread_num" value="{{GetConfig('thread_num')}}"/>
</div>
<h4>默认排序字段</h4>
<select class="mdui-select" name="default_sort" mdui-select>
<option value="lastModtime"{%if GetConfig('default_sort')=='lastModtime'%} selected{%endif%}>修改时间</option>

@ -614,7 +614,7 @@ def clearRedis(user=None):
try:
redis_client.delete(*redis_client.keys(k))
except:
ErrorLogger().print_r('empty keys {}'.format(k))
'NoKey'
def CheckServer():
mongo_cmd='lsof -i:27017 | grep LISTEN'

@ -59,7 +59,7 @@ class MoveCls(Thread):
break
def StartMove(taskid,thread_num=5):
def StartMove(taskid,thread_num=int(GetConfig('thread_num'))):
tasks=[]
queue=Tasks_queue(taskid)
for i in range(thread_num):
@ -71,7 +71,7 @@ def StartMove(taskid,thread_num=5):
RemoveRepeatFile()
def ReStartMove(taskid,thread_num=5):
def ReStartMove(taskid,thread_num=int(GetConfig('thread_num'))):
task=mon_db.tasks.find_one({'taskid':taskid})
pan_to=task['pan_to']
files=scan_file(task['pan_from'])

@ -45,7 +45,7 @@ def Dir(path=u'{}:/'.format(GetConfig('default_pan'))):
if queue.qsize()==0:
return
tasks=[]
for i in range(min(10,queue.qsize())):
for i in range(min(int(GetConfig('thread_num')),queue.qsize())):
t=GetItemThread(queue,user)
t.setDaemon(True)
t.start()
@ -79,6 +79,7 @@ def UpdateFile(renew='all',fresh_user=None):
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()))
clearRedis()
for user,item in od_users.items():
if item.get('client_id')!='':

@ -287,7 +287,7 @@ class MultiUpload(Thread):
Upload(localpath,remote_dir,self.user)
def UploadDir(local_dir,remote_dir,user,threads=5):
def UploadDir(local_dir,remote_dir,user,threads=int(GetConfig('thread_num'))):
InfoLogger().print_r(u'geting file from dir {}'.format(local_dir))
localfiles=list_all_files(local_dir)
InfoLogger().print_r(u'get {} files from dir {}'.format(len(localfiles),local_dir))

@ -14,7 +14,7 @@ class config:
if REDIS_PASSWORD!='':
CACHE_REDIS_PASSWORD=REDIS_PASSWORD
SEND_FILE_MAX_AGE_DEFAULT=timedelta(seconds=1)
version='4.190528'
version='4.190529'
@staticmethod
def init_app(app):

@ -76,6 +76,9 @@ admin_prefix="admin"
#是否做负载均衡
balance="False"
#多线程最大线程
thread_num="5"
od_users={
"A":{
"client_id":"",

@ -104,6 +104,13 @@ Disallow: /
echo 'admin_prefix="admin"' >> self_config.py
fi
num=`cat self_config.py | grep "thread_num" | wc -l`
if [ $num == 0 ]; then
echo '' >> self_config.py
echo 'thread_num="5"' >> self_config.py
fi
}
@ -186,6 +193,7 @@ echo "2019.05.23更新版本:新增负载均衡功能!"
echo "2019.05.24更新版本:支持世纪互联版本onedrive"
echo "2019.05.25更新版本:参考olaindex,视频和音频出错自动加载&每25分钟重新加载一次"
echo "2019.05.28更新版本:修复开启负债均衡之后,文件名有特殊符号播放不了的bug"
echo "2019.05.29更新版本:支持自定义线程数"
echo "---------------------------------------------------------------"
echo "更新完成!"
echo "如果网站无法访问,请检查config.py!"

Loading…
Cancel
Save