在日常的工作中,很多時候都需要導出各種各樣的報表,但是如果導出的數據一旦比較大,很容易就導致超時,對於這種問題,有很多的解決方法,例如網上說的分批導出、采用CSV、還有就采用JAVA、甚至是C++和C等等去做這種事情,這些都是方法,但我沒有一一去試過,但試過采用CSV方法,確實是要快一點,但感覺治標不治本,因為數據量肯定會越來越多,所以CSV也是支撐不了太久。
在這里,我采用了另外一個方法,采用異步處理數據;具體的流程如下圖:

具體步驟:
1、建一張表,存儲任務的記錄;
2、寫一個腳本,讀取表中的請求記錄,然后對記錄進行數據的處理並生成Excel表格,保存到指定的目錄;
3、使用定時任務,每個一段時間去執行一下這個腳本;
4、完成