精华内容
下载资源
问答
  • 今天接到需求说需要给web前端分页加到10000,并且能导出的需求,然后想当然的改了分页,然后跑起来就报了dubbo的错 java.io.IOException: Data length too large: 8843379, max payload: 8388608, channel: Netty...

    今天接到需求说需要给web前端分页加到10000,并且能导出的需求,然后想当然的改了分页,然后跑起来就报了dubbo的错

    java.io.IOException: Data length too large: 8843379, max payload: 8388608, channel: NettyChannel 。。。。。

     然后找了些方法,测试后只有这种有效

    <dubbo:protocol name="dubbo" port="${dubbo.port}" payload="38000000"/>

    在xml配置中加入payload的设置,默认8388608是8M,再跑查询没问题了,但是导出又出现新问题,之前的导出方式前端js 

    window.location.href

    但是因为数据量大后台构建excel时间过长导致超时,最终通过

    setTimeout(function() { window.location.href = prefix + "/exportBook"}, 1000 );

    解决超时的问题,很奇怪为什么 setTimeout能解决超时问题,这货不是一个定时执行的api吗?

    在MDN查了一下,了解到JavaScript 的并发模型基于“事件循环”

    事件循环
    之所以称之为事件循环,是因为它经常按照类似如下的方式来被实现:
    
    while (queue.waitForMessage()) {
      queue.processNextMessage();
    }
    如果当前没有任何消息,queue.waitForMessage() 会同步地等待消息到达。
    
    "执行至完成"
    每一个消息完整的执行后,其它消息才会被执行。这为程序的分析提供了一些优秀的特性,包括:一个函数执行时,它永远不会被抢占,并且在其他代码运行之前完全运行(且可以修改此函数操作的数据)。这与C语言不同,例如,如果函数在线程中运行,它可能在任何位置被终止,然后在另一个线程中运行其他代码。
    
    这个模型的一个缺点在于当一个消息需要太长时间才能处理完毕时,Web应用就无法处理用户的交互,例如点击或滚动。浏览器用“程序需要过长时间运行”的对话框来缓解这个问题。一个很好的做法是缩短消息处理,并在可能的情况下将一个消息裁剪成多个消息。
    
    添加消息
    在浏览器里,当一个事件发生且有一个事件监听器绑定在该事件上时,消息会被随时添加进队列。如果没有事件监听器,事件会丢失。所以点击一个附带点击事件处理函数的元素会添加一个消息,其它事件类似。
    
    函数 setTimeout 接受两个参数:待加入队列的消息和一个延迟(可选,默认为 0)。这个延迟代表了消息被实际加入到队列的最小延迟时间。如果队列中没有其它消息,在这段延迟时间过去之后,消息会被马上处理。但是,如果有其它消息,setTimeout 消息必须等待其它消息处理完。因此第二个参数仅仅表示最少延迟时间,而非确切的等待时间。

    注意这句话 “函数 setTimeout 接受两个参数:待加入队列的消息和一个延迟(可选,默认为 0)。这个延迟代表了消息被实际加入到队列的最小延迟时间。如果队列中没有其它消息,在这段延迟时间过去之后,消息会被马上处理。但是,如果有其它消息,setTimeout 消息必须等待其它消息处理完”;

    通过setTimeout加入进去的动作会被加入到运行时的消息队列中,当前消息未执行完是不会处理其他消息的,也就是说他是串行的相当于检查站,必须检查完放行了当前人才会检查下一个人。

    展开全文
  • # 指定向uWSGI传送请求的超时时间,完成握手后向uWSGI传送请求的超时时间。 proxy_connect_timeout 600s; # 指定连接到后端uWSGI的超时时间。 proxy_read_timeout 600s; # 指定接收uWSGI应答的超时时间,完成握手...

    后端日志错误信息

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200622165735646.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxODM3OTkzNzAy,size_16,color_FFFFFF,t_70)
    

    解决办法

    在nginx 的 location 中 添加如下参数即可

    	proxy_send_timeout 600s;        # 指定向uWSGI传送请求的超时时间,完成握手后向uWSGI传送请求的超时时间。
    	proxy_connect_timeout 600s;   # 指定连接到后端uWSGI的超时时间。
       	proxy_read_timeout 600s;        # 指定接收uWSGI应答的超时时间,完成握手后接收uWSGI应答的超时时间。	
    
    展开全文
  • php导出大数据csv文件超时解决方案

    千次阅读 2018-05-20 17:11:48
    作者在一次工作中需要导出一份10多万数据的csv文件导出过程中出现时php超时的问题,下面提供下个人的解决方案:1. 使用分页检索数据库,首先在页面中获取到页数及在服务器中生成一个只有title的csv文件2. 在页面...

    作者在一次工作中需要导出一份10多万数据的csv文件,导出过程中出现时php超时的问题,下面提供下个人的解决方案:

    1.  使用分页检索数据库,首先在页面中获取到页数及在服务器中生成一个只有title的csv文件

    2.  在页面中js循环调用ajax,循环次数为之前获取到的页数,在ajax调用的页面中根据条件查询出数据,fwrite写入到csv文件中

    3. 这样多次循环后生成完整的csv文件,完成后跳转到另一页面中,页面中访问csv文件地址,读取内容

    4. 将内容echo出来,就提示用户下载文件了

    5.  最后删除csv文件即可


    重点在于循环调用ajax写入csv文件

    展开全文
  • 导出zip超时问题解决

    2021-02-24 22:50:56
    项目遇到导出大量的excel文件打包成zip导出发现nginx error (超时) 解决方案:分页导出; 具体实现逻辑:前端做一个进度条,按照分页请求接口,每次请求接口生成excel文件放在指定的唯一目录下返回成功,进度条...

    项目遇到导出大量的excel文件打包成zip导出发现nginx error (超时)
    解决方案:分页导出;
    具体实现逻辑:前端做一个进度条,按照分页请求接口,每次请求接口生成excel文件放在指定的唯一目录下返回成功,进度条增加,最后一次请求把文件夹打包成zip格式下载下来。
    第一步:获取分页的数据接口:
    在这里插入图片描述
    第二步:写入excel文件

    在这里插入图片描述在这里插入图片描述
    第三步:最后一次请求时打包文件夹zip并下载

    在这里插入图片描述在这里插入图片描述在这里插入图片描述

    展开全文
  • 本工具导出文件格式为.csv文件,windows office工具默认编码为ASCI,wps会匹配各种编码,libreOffice calc可以指定编码,故此设置编码为GBK,兼容三种Excel软件,也可根据自身需求设置编码。 本工具只处理了CSV中...
  • 要解决的问题:导出文件超时。 解决思路:异步下载方式进行导出。先生成下载任务,然后轮询文件名,生成文件名的时候,再执行下载。 由于系统中需要执行导出的操作较多,因此将导出方法封装成了一个服务...
  • 实际工作中,我们经常导出报表的需求,当导出数据量过大的时候,经常会遇到超时和内存溢出的问题。 解决方案一 超时可用: set_time_limit(0) 解决。 内存溢出可用: ini_set('memory_limit', '自定义内存')。 解决...
  • 原文网址:... 修改linux 配置文件 worker_processes 1; error_log logs/error.log; error_log logs/error.log notice; error_log logs/error.log info; pid
  • 也就是导出的XML文件不完全就停止了,而在这个不完整的XML文件末尾都会有一句提示语句:Fatal error: Maximum execution time of 30 seconds exceeded。这就说明你的php执行时间最大不能超过30秒钟。那么如何解决这...
  • 因为数据量比较庞大,所以POI我们使用的XSSFWorkBook版本,专门用来处理大数据的。 直接进入正题,最近下载的时候发现服务器总会抛出一个异常 ...然后老规矩先查询了一下问题,发现网上有人说是超时的问题,默...
  • 该博客记录了当进行Excel文件导出的时候,如果文件导出量过大导致http请求超时的情况,所以进行了异步线程导出的想法。 Controller层 首先需要在controller层加入一个注解@EnableAsync表明开启多线程操作 实现...
  • 经常会遇到超时或者内存不足。解决方式都是网上的几种,百度google一大推,供参考。github传送地址https://github.com/PHPOffice/PHPExcel 由于就是数据导出,所以后面使用了导出csv格式数据,摒弃了PHPExcel。...
  • 点击上方一个优秀的废人,选择设为星标优质文章,及时送达巨人的肩膀:albenw.github.io/posts/d093...POI 的坑,以及分别对于 xls 和 xlsx 文件怎么优化大批量数据的导入和导出。一次线上问题这是一次线上的问题,...
  • MYSQL导出为excle文件

    2016-11-04 23:32:29
    方法一 // 脚本不超时 set_time_limit(0); /* * 导出EXECL */ function to_execl($data, $title, $firstline, $datacharset, $specialarr,$topTitle=''){ date_default_timezone_set("PRC"); Header("Conten
  • 使用phpExcel类导出excel文件相关问题总结 总结一下最近使用phpexcel类导出excel...导出数据量大时,提示内存超过最大值或者运行时间超时的问题。 先看下phpexcel常用的方法总结(摘录自zeal_blog:http://ww
  • 背景描述:数据库里面有一张表A,里面有90w+的数据,有时候会...3.每次用户导出都要查询数据库→下载,用户体验不好,所以第一次生成文件以后把文件放到文件服务器上,然后返回文件地址,以后每次导出只需要通过地...
  • 1.导出的执行速度要比较快,否则有http请求超时的问题; 当然如果您是使用winForm方式就不在此列。 2.Excel文件有最多65535行数据的限制; 3.数字会有格式变成指数方式的麻烦; 比如身份证号码,以数...
  • String title=new String[] { orgName + "任务统计汇总表(" + searchRange +")"};//标题String title[] = { ...超时完成任务数", "未完成任务数" };//表头HSSFWorkbook workbook =
  • loading时间过长,用户体验也不好(一些用户可能中途F5刷新,或者登录超时等情况,会导致这一次导入/导出结果失败) 问题解决方案的摸索 1.直接把ajax的超时以及服务器超时加大(tips:记得服务器那边的超时要...
  • 导出文件超出php或nginx的超时限制,怎么办
  • 大量数据导出为Excel文件的问题解决

    千次阅读 2013-07-04 10:45:13
    2010-12-20 10:53 大量数据导出为Excel文件的问题解决(C#,ASP.NET) 依据SZW朋友的提醒:本文所说的Excel...1.导出的执行速度要比较快,否则有http请求超时的问题;  当然如果您是使用winForm方式就不在此列。
  • 使用效率检视工具traceView,在导出检测文件时,出现了“failed to pull a selection”问题,网上搜索了几篇文章,有的说,是因为导出超时,我将 windows-->preferences-->android-->DDMS中的ADB ...
  • 使用phpExcel类导出excel文件相关问题总结 Autor:xiaoqingtime:2011-04-22 总结一下最近使用phpexcel类导出excel ...导出数据量大时,提示内存超过最大值或者运行时间超时的问题。 先看下phpexcel常用的方法总结
  • 最近测公司的项目,发现有个接口调用的多了会出现个别情况的响应超时,就想着用jmeter跑一下多线程,看下这种情况是否经常出现,然后就遇到了一个新颖的问题:怎么把postman中的接口转移到jmeter进行测试。...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 180
精华内容 72
关键字:

导出文件超时