2012-12-23 24 views
5

Django-storage、Boto、Django-compressorが昨日S3に静的ファイルを格納するようになった後、今朝、本番環境でこのエラーが発生しました。それが関連しているかどうかわからない...Django OperationalError:新しい接続プロセスをフォークできませんでした

OperationalError: could not fork new process for connection: Cannot allocate memory 

could not fork new process for connection: Cannot allocate memory 
could not fork new process for connection: Cannot allocate memory 


Stacktrace (most recent call last): 

    File "django/core/handlers/base.py", line 89, in get_response 
    response = middleware_method(request) 
    File "reversion/middleware.py", line 17, in process_request 
    if hasattr(request, "user") and request.user.is_authenticated(): 
    File "django/utils/functional.py", line 184, in inner 
    self._setup() 
    File "django/utils/functional.py", line 248, in _setup 
    self._wrapped = self._setupfunc() 
    File "django/contrib/auth/middleware.py", line 16, in <lambda> 
    request.user = SimpleLazyObject(lambda: get_user(request)) 
    File "django/contrib/auth/middleware.py", line 8, in get_user 
    request._cached_user = auth.get_user(request) 
    File "django/contrib/auth/__init__.py", line 98, in get_user 
    user_id = request.session[SESSION_KEY] 
    File "django/contrib/sessions/backends/base.py", line 39, in __getitem__ 
    return self._session[key] 
    File "django/contrib/sessions/backends/base.py", line 165, in _get_session 
    self._session_cache = self.load() 
    File "django/contrib/sessions/backends/db.py", line 19, in load 
    expire_date__gt=timezone.now() 
    File "django/db/models/manager.py", line 131, in get 
    return self.get_query_set().get(*args, **kwargs) 
    File "django/db/models/query.py", line 361, in get 
    num = len(clone) 
    File "django/db/models/query.py", line 85, in __len__ 
    self._result_cache = list(self.iterator()) 
    File "django/db/models/query.py", line 291, in iterator 
    for row in compiler.results_iter(): 
    File "django/db/models/sql/compiler.py", line 763, in results_iter 
    for rows in self.execute_sql(MULTI): 
    File "django/db/models/sql/compiler.py", line 817, in execute_sql 
    cursor = self.connection.cursor() 
    File "django/db/backends/__init__.py", line 308, in cursor 
    cursor = util.CursorWrapper(self._cursor(), self) 
    File "django/db/backends/postgresql_psycopg2/base.py", line 177, in _cursor 
    self.connection = Database.connect(**conn_params) 
    File "psycopg2/__init__.py", line 178, in connect 
    return _connect(dsn, connection_factory=connection_factory, async=async) 

私はHerokuにサイトを展開しています。私はアプリケーションを再起動した後に少し動くが、数分後に再び動作を停止する。

これを引き起こしている可能性のある候補はありますか?

+1

DB接続の問題(obl)があります。 Googleはこのリンクを作ってくれます。http://www.postgresql.org/message-id/[email protected] Herokuテクニカルサポートにお問い合わせいただくと、より良い結果が得られます。 – nk9

+0

@ b1ああ、ちょっと前に何とか解決しましたが、答えを更新するのを忘れてしまいました。 – wrongusername

答えて

3

私は同じ問題をherokuのpostgresqlデータベースを使って簡単なdjango Webアプリケーションを設定しようとしましたが、解決することができました。

私は完全にエラーを理解していないが、修正は非常に簡単です:あなたは、データベースにクエリによって作成されたPythonのリストを渡しているとき、あなたは制限リストの大きさにする必要があります。例えばので

あなたがコンテキストとして以下のリスト渡す場合:set_listは本当に大きな可能性があるため、エラーが発生します

set_list = userSetTable.objects.all()

return render(request, 'fc/user.html', {'set_list': set_list,})

を。あなたはポイントを得る...

set_list = userSetTable.objects.all()[0:20] 

だから実際のアプリケーションでは、ページの結果または何としてリストを表示することがあります:あなたは、最大サイズを指定する必要があります。

関連する問題