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

山东网站设计wordpress 讨论主题

山东网站设计,wordpress 讨论主题,常见的搜索引擎,seo优化的基本流程问题情境: 项目中存在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.yayakq.cn/news/737518/

相关文章:

  • 网站建设运营的成本做网站的需要花多少钱
  • 怎么做dnf辅助网站河北人社app安卓版
  • 免费学习的网站平台营销传播方式有哪些
  • thinkphp大型网站开发个人可以做导购网站吗
  • 东凤镇 网站建设青岛网站建设一青岛博采网络
  • 网站导航是做链接赚钱么男女激烈做羞羞事网站网站韩剧
  • wordpress网站名称中原免费网站建设
  • wid2008vps创建网站wordpress仿微博
  • 想建网站做优化做公司网站要素
  • 数字城市建设网站wordpress 首页调用产品
  • 制作百度移动网站从化移动网站建设
  • 站群服务器新中国风装修
  • 郑州手机网站开发wordpress怎么做图文数据库
  • 企业对企业的电子商务网站有哪些北京网站建设营销
  • 旅游营销型网站建设wordpress ini主题
  • iis 创建网站企业做网站的意义
  • 网站建设方案 文库廊坊专业做网站
  • 宠物网站开发网站开发设计公
  • 网站建设的想法和意见网站宣传的方法有哪些
  • php按步骤做网站瑞安市网站建设
  • 网站内容建设的原则是什么样的网站代运营 如何纳税
  • 建设一个网站可以采用那几方案建设工程施工合同范本2017下载
  • 沈阳网站建设成创怎么做网站的需求
  • 网站设置怎么删除白银做网站
  • 网站开发部组织架构龙岩网站排名
  • 浮山网站建设114黄页
  • 深圳 网站托管网站推荐正能量
  • 做网站 所需资源asp手机网站源码
  • 信息设计网站网站中文域名好不好
  • 微信 网站提成方案点做美食美客网站建设