优化长时间操作导致的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35559756/article/details/84058488

优化长时间操作导致的问题

具体业务场景:

获取任务功能会批量选择多个任务,这种任务里面有很多图片(200张*600kb),当点击确定获取任务时,会从远程服务器上下载多个任务的数据,本地服务器会根据解析数据并根据数据中的文件信息到ftp中下载,由于该文件较多且大导致页面空白时间较长

优化方式:

0、先优化性能,当性能无法优化时优化体验:

def genThumbnail(data):
	pass                

from multiprocessing.dummy import Pool as ThreadPool
my_pool = ThreadPool()
linds = my_pool.map(genThumbnail, temp_data)
my_pool.close()
my_pool.join()

1、进度跟踪

​ 实现本地服务器操作进度实时回显到页面

​ 原因: 获取任务操作本身主要是为查看图片,通过这种阻塞式的可以使得逻辑更加清晰,出错率更低

2、长时间任务后台化

​ 将从ftp下载的逻辑放到后台实现,该线程会从ftp中下载文件到本地服务器的静态文件目录

​ 当用户点击任务查看详情时,

​ 能够从static目录加载图片的会直接加载,

​ 不能的则全部添加一个手动加载和总体自动加载,

​ 手动加载只有下载和进度

​ 总体自动加载有进度条、暂停、继续、停止

猜你喜欢

转载自blog.csdn.net/qq_35559756/article/details/84058488