2016-01-27 41 views

回答

1

的任務由相同的應用程序實例(S)作爲常規要求執行,只有任務被允許運行的時間更長。因此,應用相同的內存限制(也取決於任務隊列特定的限制和配額,其中可能也會將吞噬到實例內存中)。

你可能會選擇直接任務的專用模塊,如果內存消耗是一個問題併爲其分配更多的內存的實例類(更強大的爲好)。

但由於MAX實例級內存大小爲1G目前我懷疑你的情況很可能會擊中「軟專用內存限制」,我相信那些參考加載一個完整1G的文件到內存:)

+0

之前被殺死Task對象的大小被推入隊列中,除非我錯了。我更多地問在Task運行期間可以使用多少內存。鑑於沒有磁盤,如果我從Blobstore或Google雲端存儲中下載1GB文件,會導致錯誤?我知道典型的App Engine運行時不允許這樣做,但任務隊列似乎對總執行時間有豁免,所以我很好奇內存是否也一樣。感謝您的答案! – Sean

+0

啊,我完全誤解了你的問題:) –

+0

不用擔心。非常感謝您花時間回答。乾杯。 – Sean

1

A「任務」基本上是由一個儲存起來以備將來交付給你的應用程序實例的URL表示。任務的表示與語言無關,除非您使用字符串化的,特定於語言的字符串作爲值。

如果通過內存限制你的意思是「多少(哪裏多= count * size)任務隊列的東西可以有待處理?」,答案在Task Queue section of the quotas document中詳細說明。

如果你問一個任務可以有多大,這將取決於你的情況下,內存大小,因爲你需要足夠的內存enquing之前構建的任務。

對於任務處理應用程序實例需要足夠的內存來接受和處理任務,或足夠的內存來同時接受和處理很多,如果您的應用程序配置爲接受多個併發請求。除了接受URL之外,還有多少內存基本上取決於應用的編碼方式。