簡體   English   中英

從oracle數據庫中獲取數據時瀏覽器中的504網關超時

[英]504 gateway timeout in the browser when fetching the data from oracle database

問題的標題說明了一切。 這是在Cloud Foundry環境中發生的。 應用程序結構是這樣的,有兩個數據庫,一個是Mysql,另一個是Oracle,兩者都已配置,並且其數據源創建良好。

最終目標是使用Springboot應用程序(ETL)將oracle數據庫中存在的數據提取到mysql數據庫中。 在Oracle DB中運行選擇查詢大約需要30分鍾,因為在執行選擇查詢后,將對具有大約10000條記錄的海量數據的表應用聯接。

當我在eclipse IDE中在本地環境中運行相同的程序時,它的效果很好。 但是問題出在雲環境中。

當我在雲環境的瀏覽器中運行其余鏈接時。 它運行大約10到15分鍾,並拋出504 httpstatus,我觀察到的是在后台從應用程序中獲取數據。 我可以在保留的日志中看到這一點。 但在瀏覽器中會引發異常。

我想顯示我的代碼,如果它是我的,但實際上是公司工作,這就是為什么我不能顯示它的原因。

有人可以幫我解決504錯誤嗎?

根據您共享的有限信息,您似乎正在調用REST API來運行ETL作業,該作業將數據從一個數據庫傳輸到另一個數據庫,這是一項耗時/長時間的工作。 在我看來,這是異步操作而不是同步操作的不錯選擇。 根據您提供的詳細信息,我建議您的REST API應該觸發一個新線程,該線程負責在后台運行ETL作業,如果成功觸發了該線程,則立即在響應中返回成功。 然后,您可以在UI上執行另一項操作,以顯示ETL作業的狀態,該狀態必須維護在數據庫中的某個位置,然后使用服務從那里進行拾取並顯示在UI上。

注意:如果同步執行,則對於如此長時間運行的操作,網關超時是不可避免的,除非您增加了相應服務的超時,我不建議這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM