2012-12-19 57 views
1

因此,我們有幾個系統(大約6個)將信息作爲文件輸出到我們的FTP中,一旦接收到文件,它立即處理並且輸出存儲在數據庫和源中文件被刪除。另一個應用程序需要每天晚上運行一個特定的作業,但是,只有在來自源系統的所有文件都已經被處理的情況下,它才能啓動作業。 因此,解決這個問題的方法是輪詢數據庫以查看文件是否已經被處理,並且一旦我們知道所有事情都已完成,我們就會觸發該作業。在處理完所有數據後觸發作業

我的問題是,有沒有更好的方法來做到這一點?也許基於消息的方法? 我正在尋找的方法不僅僅是這個系統,還有一些系統也需要在來自源系統的數據到達時觸發作業,所以我正在尋找一個可擴展的解決方案。

回答

0

一個可能的解決方案是將每晚作業的觸發器放入每個數據庫導入/文件處理的數據庫導入邏輯中。

您的夜間工作需要檢查導入的完整性,即所有文件都正確導入。

有了這個,你不需要再進行輪詢,而是對每個導入文件調用完整性檢查。

注意比賽條件,確保兩個並行完成的輸入不會並行觸發夜間作業。

相關問題