2014-06-23 141 views
1

我正在從應用引擎調用第三方Web服務。這項服務很挑剔。我遇到了一個問題,一段時間通話會正常工作,然後停止工作,然後再次開始工作。我意識到,如果我手動停止了管理控制檯中的所有實例,那麼這些調用將再次工作。GAE urlfetch主機頭設置爲IP地址而不是主機名

我設置了一個代理路由的通話,所以我可以看到標題和所有細節。我認爲我已經將問題追蹤到以下內容。在實例運行一段時間後(應用程序通常只需要1到3個實例),應用程序引擎將使用目標的IP地址作爲主機頭的值而不是主機名。那麼服務不喜歡那樣。是否應該護理是另一回事。

所以我的問題是,爲什麼應用引擎最終使用主機頭的IP地址而不是主機名?當然,我還能做些什麼嗎?我知道我無法設置主機頭,但也許還有其他的東西可以完成。

感謝您的任何見解。

回答

0

首先,感謝您發現此行爲。很久以來,我們一直與urlfetch存在間歇性問題,並會嘗試檢測這是否是問題。

有一兩件事你可以嘗試是針對特定實例/模塊:

http://instance.version.module.app-id.appspot.com

和循環的實例。如果您只是定位該模塊,它會在一些不活動之後終止該實例。所以,也許這不會觸發GAE DNS快捷方式。

另一個竅門是在你的url之後添加一個假的隨機查詢字符串:?foo=D7hfka67h。也許這會阻止GAE識別重複網址,並嘗試快捷DNS。

相關問題