2011-10-27 23 views

回答

2

我在Heroku上使用Delayed Job時遇到的主要限制是長時間運行的進程有時會達到512MB內存限制,然後被Heroku殺死。這不是以一種乾淨的方式完成的(關於延遲工作如何處理它)。延遲作業仍然認爲有一個正在運行的進程,因此您必須手動刪除該任務,然後重新啓動它。如果您的任務不是以可以重新啓動並重新啓動的方式編寫的,則可能會遇到問題。

Wrt系統二進制文件我之前使用過git,我只是檢查了gzip可用。我通常會打開一個控制檯並拼出來。

irb(main):007:0> `gzip --version` 
=> "gzip 1.3.12\nCopyright (C) 2007 Free Software Foundation, Inc.\nCopyright (C) 1993 Jean-loup Gailly.\nThis is free software. You may redistribute copies of it under the terms of\nthe GNU General Public License <http://www.gnu.org/licenses/gpl.html>.\nThere is NO WARRANTY, to the extent permitted by law.\n\nWritten by Jean-loup Gailly.\n" 

我不確定磁盤上的存儲限制。我想我在某個地方可以使用多達4GB的空間。然而,它只適用於這個過程,本質上是短暫的。我通常從S3讀取更大的文件,然後讓一個父進程創建處理該文件的較小子任務,並將每個子任務所需的數據作爲調用的一部分傳遞。

+1

謝謝。在新雪松堆棧上的FYI,你可以直接用'heroku run bash'打開一個shell會話。 –