gpt4 book ai didi

Django 操作错误 : could not fork new process for connection

转载 作者:行者123 更新时间:2023-11-29 11:29:31 26 4
gpt4 key购买 nike

在昨天让 Django-storages、Boto 和 Django-compressor 将静态文件放在 S3 上之后,今天早上我开始在生产环境中遇到这个错误,尽管我不知道这是否相关。 .

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 上部署网站。在我重新启动应用程序后它工作了一会儿,但几分钟后又停止工作。

关于可能导致这种情况的原因有什么想法吗?

最佳答案

我在尝试在 heroku 上使用 postgresql 数据库设置一个简单的 django web 应用程序时遇到了同样的问题,并设法解决了它。

我不完全理解这个错误,但修复相当简单:当您将查询创建的 python 列表传递到您的数据库时,您需要限制列表的大小 .

例如,如果您将以下列表作为上下文传递:

set_list = userSetTable.objects.all()

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

这会导致错误,因为 set_list 可能非常大。您需要指定最大尺寸:

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

因此在实际应用程序中,您可能希望将列表显示为页面结果或其他内容...您明白了。

关于Django 操作错误 : could not fork new process for connection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14014138/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com