2016-08-02 81 views
0

我的一些App Engine Search API查詢給出'java.util.concurrent.CancellationException:任務被取消'異常。錯誤是可重現的。App Engine SearchAPI:java.util.concurrent.CancellationException:任務被取消

我有多個索引。在一些索引上,這些查詢運行,而另一些則失敗。 該查詢是非常基本的。如果我從管理控制檯(https://console.cloud.google.com/appengine/search/index)運行它,它沒有問題。 查詢沒有什麼特別之處。

對2個原子字段的查詢過濾器:isReliable =「1」AND markedForDelete =「0」,並對數字字段進行排序。

代碼似乎沒有錯,因爲它運行許多這樣的查詢沒有問題,比失敗的更困難。

+0

我見過這樣的例外引起的超時限制。相同的執行時間(例如59-60秒) –

+0

這確實是個問題,所以問題是爲什麼它需要這麼長時間,在管理控制檯中運行它,查詢需要25秒,我認爲緩慢與事實上,排序標準有太多的等值,這是不建議的。 – peternees

回答

1

我見過這樣的例外引起的超時限制。檢查日誌,如果你在應用程序後得到它們。相同的執行時間(例如59-60秒)。

如果這不是面向用戶的請求,則可以將其移動到具有10分鐘執行限制的任務中。如果這是面向用戶的請求,則可能需要對數據模型進行一些更改。例如,您可以將一些字段組合成常用查詢的標誌,例如, isReliable =「1」AND markedForDelete =「0」變成code =「10」或者「reliableToDelete =」true「

+0

請看看我的問題http://stackoverflow.com/questions/38716279/app-engine-modules-not-working –