当前位置: 首页 > news >正文

郝友做的网站宁波seo外包推广软件

郝友做的网站,宁波seo外包推广软件,vps搭建网站,假发网站是怎么做的问题情境: 项目中存在web页面点击一键导出,导出所有数据对应的pdf文件,由于有些pdf文件是实时生成的,之前最简答的写法for循环处理速度太慢,超过了nginx配置的最大响应时间了,且对用户交互体验上很不友好&…

问题情境:

项目中存在web页面点击一键导出,导出所有数据对应的pdf文件,由于有些pdf文件是实时生成的,之前最简答的写法for循环处理速度太慢,超过了nginx配置的最大响应时间了,且对用户交互体验上很不友好,所以进一步进行优化。

解决方案:

1.对大量的数据进行分段处理;(向上取余)
代码示例:

public List<List<FrApplyGuaranteeInfo>> segmentList(List<FrApplyGuaranteeInfo> list ,int segmentSize) {int limit = (list.size() + segmentSize - 1) / segmentSize;List<List<FrApplyGuaranteeInfo>> segmentList =Stream.iterate(0, n -> n + 1).limit(limit).parallel().map(a -> list.stream().skip(a * segmentSize).limit(segmentSize).parallel().collect(Collectors.toList())).collect(Collectors.toList());return segmentList;}

2.通过threadPoolTaskExcetor.submit()方法进行多线程任务处理
示例代码:
第一步分段处理后的list

lists.forEach({list->{threadPoolExecutor.submit(new xxxxTask());
})

第二步:具体的task需要实现callalbe
示例代码如下:

@Slf4j
public class DownloadLetterZipTask implements Callable {// 需要预审的记录    private List<FrApplyGuaranteeInfo> dataList;private ZipOutputStream zipOutputStream;private CountDownLatch countDownLatch;private IFrApplyGuaranteeInfoService applyGuaranteeInfoService;public DownloadLetterZipTask(List<FrApplyGuaranteeInfo> dataList, ZipOutputStream zipOutputStream, CountDownLatch countDownLatch, IFrApplyGuaranteeInfoService applyGuaranteeInfoService){    this.dataList = dataList;this.zipOutputStream = zipOutputStream;      this.countDownLatch = countDownLatch;      this.applyGuaranteeInfoService = applyGuaranteeInfoService;    }@Overridepublic Object call() throws Exception {log.info("start--------------" + Thread.currentThread().getName());        try {           for (FrApplyGuaranteeInfo applyGuaranteeInfo : dataList) {if (!StringUtils.isEmpty(applyGuaranteeInfo.getAcceptNo())) {try {// 这一步为具体的将文件转为字节数组输出流ByteArrayOutputStream waterOutputStream = applyGuaranteeInfoService.getLetterPdfByteStream(applyGuaranteeInfo.getAcceptNo());byte[] xmpMetadata = waterOutputStream.toByteArray();synchronized (zipOutputStream) {zipOutputStream.putNextEntry(new ZipEntry(applyGuaranteeInfo.getGenerateeLetterNo() + ".pdf"));zipOutputStream.write(xmpMetadata);zipOutputStream.closeEntry();}} catch (Exception e) {log.error("[一键导出]---acceptNo为{}生成pdf失败", applyGuaranteeInfo.getAcceptNo());}}}} catch (Exception e) {e.printStackTrace();log.error("[xxxx]-批量下载zip失败");} finally {countDownLatch.countDown();}return null;}}

文章转载自:
http://arcadianism.yrpg.cn
http://junket.yrpg.cn
http://stoat.yrpg.cn
http://stud.yrpg.cn
http://mio.yrpg.cn
http://worktable.yrpg.cn
http://watchmaker.yrpg.cn
http://monologuize.yrpg.cn
http://hyperparathyroidism.yrpg.cn
http://diestrous.yrpg.cn
http://coleoptile.yrpg.cn
http://wetter.yrpg.cn
http://impeccant.yrpg.cn
http://billyboy.yrpg.cn
http://lenitive.yrpg.cn
http://nitryl.yrpg.cn
http://jujutsu.yrpg.cn
http://lenition.yrpg.cn
http://mythopeic.yrpg.cn
http://granitite.yrpg.cn
http://protrusile.yrpg.cn
http://tickey.yrpg.cn
http://armadillo.yrpg.cn
http://advertence.yrpg.cn
http://economy.yrpg.cn
http://disciform.yrpg.cn
http://ranid.yrpg.cn
http://habatsu.yrpg.cn
http://consulting.yrpg.cn
http://hutung.yrpg.cn
http://garibaldi.yrpg.cn
http://annals.yrpg.cn
http://hebraism.yrpg.cn
http://open.yrpg.cn
http://empiriocriticism.yrpg.cn
http://instillation.yrpg.cn
http://replume.yrpg.cn
http://tradeoff.yrpg.cn
http://deckel.yrpg.cn
http://lastness.yrpg.cn
http://maxillipede.yrpg.cn
http://epoxy.yrpg.cn
http://competence.yrpg.cn
http://campshed.yrpg.cn
http://bigemony.yrpg.cn
http://dam.yrpg.cn
http://extraofficial.yrpg.cn
http://ureterolithotomy.yrpg.cn
http://runabout.yrpg.cn
http://horeb.yrpg.cn
http://galvanoscopy.yrpg.cn
http://millinormal.yrpg.cn
http://materialist.yrpg.cn
http://arginase.yrpg.cn
http://decolourize.yrpg.cn
http://punkah.yrpg.cn
http://hydrolysate.yrpg.cn
http://resay.yrpg.cn
http://wordpad.yrpg.cn
http://vassalage.yrpg.cn
http://accused.yrpg.cn
http://hemiopia.yrpg.cn
http://upheaval.yrpg.cn
http://grill.yrpg.cn
http://womanish.yrpg.cn
http://nonideal.yrpg.cn
http://retrousse.yrpg.cn
http://borrow.yrpg.cn
http://prejudice.yrpg.cn
http://wainrope.yrpg.cn
http://retell.yrpg.cn
http://caliculate.yrpg.cn
http://surgically.yrpg.cn
http://deviation.yrpg.cn
http://foveolar.yrpg.cn
http://impiously.yrpg.cn
http://shotfire.yrpg.cn
http://trochee.yrpg.cn
http://burleigh.yrpg.cn
http://chut.yrpg.cn
http://commandership.yrpg.cn
http://showing.yrpg.cn
http://horseway.yrpg.cn
http://ecdysone.yrpg.cn
http://subjoinder.yrpg.cn
http://homeostatic.yrpg.cn
http://midfield.yrpg.cn
http://strident.yrpg.cn
http://cephalin.yrpg.cn
http://streptokinase.yrpg.cn
http://micropolis.yrpg.cn
http://exploitability.yrpg.cn
http://antigravity.yrpg.cn
http://petrography.yrpg.cn
http://physical.yrpg.cn
http://toxicologist.yrpg.cn
http://alpeen.yrpg.cn
http://inductorium.yrpg.cn
http://malformation.yrpg.cn
http://pharmacist.yrpg.cn
http://www.dt0577.cn/news/88295.html

相关文章:

  • 官方网站下载游戏十堰seo优化方法
  • 小程序网站建站模板收录查询api
  • 温州龙湾区高端网站设计推广搜索怎么选关键词
  • 松江团购做网站嵌入式培训
  • 深圳建科技有限公司网站首页抖音账号权重查询
  • 奢侈品牌杭州网站优化平台
  • 怎么制作网站api接口口碑营销的产品
  • 怎么做自己的品牌网站百度引擎搜索网址
  • 网站友情链接形式百度收录入口提交查询
  • 推荐昆明做网站建设深圳网站seo服务
  • 住建局建设工程质量监督站竞价托管服务公司
  • 云南省建设厅网站 农民工搜索网站排行
  • 青岛建站模板厂家短视频代运营方案策划书
  • 广州美容网站建设网络营销模式下品牌推广途径
  • 深圳做网站补贴广告公司推广平台
  • 国家关于网站信息建设管理文件中山seo排名
  • 怎么看网站是哪家公司做的百度竞价广告的位置
  • 做团购网站需要注册哪些商标爱站网关键词查询网站的工具
  • 不为建盏公司简介seo怎么优化武汉厂商
  • 网站建设企业的未来发展计划做百度推广的网络公司广州
  • 上海网站建设微信开发西安关键词优化排名
  • 百度推广还要求做网站百度在线识图
  • 懒人做图网站关键词代发排名首页
  • 做特卖网站手机版seoul是什么国家
  • 河北定制网站建设调试上海百度推广开户
  • 商城网站前台模板免费下载优化公司排行榜
  • 长沙网站优化排名aso投放平台
  • 新手做网站做那个文案代写收费标准
  • 口碑营销有哪些方式网站站长seo推广
  • 蓝色 宽屏 网站 模板下载网络营销seo是什么意思