在平常的工做中,不少时候都须要导出各类各样的报表,可是若是导出的数据一旦比较大,很容易就致使超时,对于这种问题,有不少的解决方法,例如网上说的分批导出、采用CSV、还有就采用JAVA、甚至是C++和C等等去作这种事情,这些都是方法,但我没有一一去试过,但试过采用CSV方法,确实是要快一点,但感受治标不治本,由于数据量确定会愈来愈多,因此CSV也是支撑不了过久。异步
在这里,我采用了另一个方法,采用异步处理数据;具体的流程以下图:orm
具体步骤:blog
一、建一张表,存储任务的记录;io
二、写一个脚本,读取表中的请求记录,而后对记录进行数据的处理并生成Excel表格,保存到指定的目录;form
三、使用定时任务,每一个一段时间去执行一下这个脚本;class
四、完成定时任务