2012-10-06 19 views
3

我剛剛面臨使用AppEngine FileService將數據寫入Google Cloud Storage的問題。Google File Service closeFinally()timeout

問題是超時相關,因爲我認爲。我創建了一個新的GS文件並使用任務將數據寫入它。每個任務都使用close()關閉FileWriteChannel。但closeFinally()在最後寫入約2小時後調用(這是我的DataFlow所要求的)。所以我沒有在GS中看到任何文件。

上次write和closeFinally()之間的任何時間嗎?

+0

我不完全理解這個問題。你希望在你調用closeFinally()之前在GS中看到文件嗎?你希望在超時後自動調用close()嗎? – fejta

+0

不是。問題是我可以在多長時間內關閉AppEngineFile而不關閉。我不希望自動關閉最後。我只想知道我可以關閉文件並在幾個小時後繼續對它進行任何操作。 –

回答

1

close()closeFinally()的調用之間沒有超時,但您必須在開始使用createNewGSFile()開始上載後幾天內致電closeFinally()來完成上載。

+1

嗨@fejta,感謝您的回答。我遇到了一個潛在的相關問題,其中調用closeFinally()會導致FileServiceImpl.translateException(FileServiceImpl.java:621)。 closeFinally()調用在createNewGSFile()之後約15分鐘。我目前正在使用GAE SDK 1.8.2(將來會升級),但需要爲當前客戶儘快解決此問題。猜測這可能是一種暫停,但你有什麼其他的見解?謝謝! – djpark