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

郝友做的网站google网站增加关键词

郝友做的网站,google网站增加关键词,web模板网站,网站建设的经费问题情境: 项目中存在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://www.yidumall.com/news/13794.html

相关文章:

  • 网站建设谈单技巧西安网站seo推广
  • 上海网站建设 觉策动力电商培训学校
  • 苏州企业网站建设我想做地推怎么找渠道
  • 网站制作中文版网络推广长沙网络推广
  • 五百亿建站模板成都关键词优化服务
  • 专门做老年旅游的网站企业网站的推广方式和手段有哪些
  • 移动端的网站怎么做的免费b站推广网站不用下载
  • 高密哪里做网站好优化是什么梗
  • 什么网站可以做任务领赏金北京网络营销公司排名
  • 本机可以做网站的服务器郑州seo使用教程
  • 自己做网站平台百度保障平台 客服
  • wordpress做推送seo教程网站优化
  • php动态网站开发试题徐州自动seo
  • 做自媒体可以搬运国外网站新闻吗网页设计与制作步骤
  • 佛山网站优化建设安卓aso优化
  • 互联网公司排名前十名名单seo是什么意思中文翻译
  • 做ppt的网站 知乎百度推广官网网站
  • 网站域名费用怎么做分录青岛seo优化
  • 专业电商网站建设多少钱怎样淘宝seo排名优化
  • discuz可以做商城网站吗产品如何推广
  • 普陀区建设局网站百度提问登录入口
  • python网页编辑器深圳seo优化排名推广
  • 网站自己做余额充值自动扣款杭州seook优屏网络
  • 网站ip pv海外网络推广平台
  • 省品牌建设联合会网站北京seo供应商
  • 一个做网站的团队需要哪些电商推广平台有哪些
  • 无锡网站维护公司百度小说
  • 酒店网站建设的基本内容如何做网站 新手 个人 教程
  • 任务平台网站建设营销的方法和技巧
  • asp.net网站管理系统网站运营工作内容