Django/Heroku:致命:角色的连接太多

2024-03-14

所以我刚刚通过 Heroku(业余爱好)和 Postgres(试用版)推出了一个包含 Channels 2.0 Daphne 2.2.0 和 asgi 的网站。当我启动网站时,我点击了几个页面,然后收到 500 错误。我通过电子邮件收到的错误消息是FATAL: too many connections for role ..."

当我跑步时heroku pg:killall或者等待足够长的时间,我可以再单击几次,直到错误消息重复出现。然而,当我跑步时heroku pg表明Connections 0/20。有谁知道发生了什么事以及我如何阻止错误?我可能有两个连接打开了一秒钟,但看起来并非如此。

File "/app/.heroku/python/lib/python3.6/site-

packages/django/contrib/sessions/backends/base.py" in _get_session
  191.             return self._session_cache

During handling of the above exception ('SessionStore' object has no attribute '_session_cache'), another exception occurred:

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/base/base.py" in ensure_connection
  216.                 self.connect()

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/base/base.py" in connect
  194.         self.connection = self.get_new_connection(conn_params)

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/postgresql/base.py" in get_new_connection
  168.         connection = Database.connect(**conn_params)

File "/app/.heroku/python/lib/python3.6/site-packages/psycopg2/__init__.py" in connect
  130.     conn = _connect(dsn, connection_factory=connection_factory, **kwasync)

The above exception (FATAL:  too many connections for role "polewdwynmvyyt"
) was the direct cause of the following exception:

File "/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
  35.             response = get_response(request)

File "/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
  128.                 response = self.process_exception_by_middleware(e, request)

File "/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
  126.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "./myproject/views.py" in home_page
  8.     print(request.session.get("first_name","Unknown")) #getter

File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/sessions/backends/base.py" in get
  66.         return self._session.get(key, default)

File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/sessions/backends/base.py" in _get_session
  196.                 self._session_cache = self.load()

File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/sessions/backends/db.py" in load
  34.                 expire_date__gt=timezone.now()

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/models/manager.py" in manager_method
  82.                 return getattr(self.get_queryset(), name)(*args, **kwargs)

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/models/query.py" in get
  397.         num = len(clone)

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/models/query.py" in __len__
  254.         self._fetch_all()

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/models/query.py" in _fetch_all
  1179.             self._result_cache = list(self._iterable_class(self))

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/models/query.py" in __iter__
  53.         results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/models/sql/compiler.py" in execute_sql
  1066.             cursor = self.connection.cursor()

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/base/base.py" in cursor
  255.         return self._cursor()

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/base/base.py" in _cursor
  232.         self.ensure_connection()

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/base/base.py" in ensure_connection
  216.                 self.connect()

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/utils.py" in __exit__
  89.                 raise dj_exc_value.with_traceback(traceback) from exc_value

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/base/base.py" in ensure_connection
  216.                 self.connect()

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/base/base.py" in connect
  194.         self.connection = self.get_new_connection(conn_params)

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/postgresql/base.py" in get_new_connection
  168.         connection = Database.connect(**conn_params)

File "/app/.heroku/python/lib/python3.6/site-packages/psycopg2/__init__.py" in connect
  130.     conn = _connect(dsn, connection_factory=connection_factory, **kwasync)

似乎连接没有被重用和/或正在为每个请求创建一个新线程。

去除CONN_MAX_AGE from dj_database_url.config(default=DATABASE_URL) on settings.py(如果您使用的是 dj_database_url)。

设置环境变量ASGI_THREADS线程数低于您的连接限制.asgi文件或在 heroku 站点 -> 设置 -> configVars. 如果使用daphne,默认线程是CPU核心*5,每个线程有一个连接。

示例.asgi 文件:

import os
import django
from channels.routing import get_default_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yourAppName.settings")
os.environ['ASGI_THREADS']="4"
django.setup()
application = get_default_application()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django/Heroku:致命:角色的连接太多 的相关文章

随机推荐

  • iOS CoreLocation 检查 CLLocation 时间戳以使用它

    如何检查 CLLocation 对象并决定是要使用它还是丢弃结果并获取新的位置更新 我在 CLLocation 上看到了时间戳属性 但我不确定如何将其与当前时间进行比较 另外 在我比较时间并发现以秒为单位的差异之后 差异应该在什么值以下才能
  • 绘制并填充自定义形状

    我正在尝试使用 Android 中的 Path 对象创建自定义形状 但遇到了一个奇怪的问题 我想要实现的目标如下图所示 这是我用来绘制和填充形状的代码 public class BallView extends RelativeLayout
  • Linux 中的调度:在计算机空闲时运行任务(= 无用户输入)

    我想跑折叠 home http folding stanford edu 我的 Ubuntu 8 10 机器上的客户端仅在空闲时运行 因为该程序消耗大量 RAM 我所说的 空闲 是指没有用户活动 键盘 鼠标等 时的状态 由于 F H 具有最
  • 有 JPasswordField 的替代方案吗?

    当输入如下密码时 yeast bulk seize is shows pain 每个人都可以听到敲击空格键的声音 因此在密码字段中显示空格似乎也是合乎逻辑的 所以我想要一些能够展示的东西 代替 这将使打字变得更容易 同时几乎不会降低安全性
  • Webpack + Babel 错误

    我正在尝试配置 webpack 并让一切正常运行 但现在遇到了同样的错误 我梳理了其他一些帖子 这些帖子似乎是通过纠正拼写 语法错误来解决的 但我似乎无法找出代码中的任何错误 是不是有更严重的事情发生了 ERROR in src compo
  • 带有错误模块“main:Main”的 stack ghci 在多个文件中定义:

    我有一个小的 haskell 程序 它可以使用堆栈构建和执行 当我开始时stack ghci我收到一条错误消息 我不明白并且无法继续 GHCi version 8 10 4 https www haskell org ghc for hel
  • 来自本地的 IAM SAML 联合失败

    我在本地虚拟机中设置了 openldap 和 shibboleth idp 并在 aws 中创建了身份提供商并上传了元数据 在元数据中 url 指向我的本地 IP 地址 例如 SingleSignOnService Binding urn
  • 推导 pytorch 网络的结构

    对于我的用例 我需要能够采用 pytorch 模块并解释模块中的层序列 以便我可以以某种文件格式在层之间创建 连接 现在假设我有一个简单的模块 如下所示 class mymodel nn Module def init self input
  • 无法解析符号 DrawerLayout

    我正在尝试实现导航抽屉 如下所示 http developer android com training implementing navigation nav drawer html top http developer android
  • 在 HTML 链接中使用 onClick 传递多个值

    您好 我正在尝试使用 HTML onclick 函数传递多个值 我使用 Javascript 创建表 var user element UserName var valuationId element ValuationId Valuati
  • 无法解析 com.facebook.react:react-native:0.32.0

    我在 android studio 的 React Native 项目中打开了 android 文件夹 做了所有可能的修改build gradle文件 但是我收到这个重复的错误 Error Failed to resolve com fac
  • jQuery Mobile 绑定事件

    我在使用 jquery mobile 时遇到了一些问题 我的页面总是被调用这个函数运行 document bind pagechange function peforms ajax operations 问题是 每次查看我的页面时 都会增加
  • Git 命令仅重置索引和工作树而不是 HEAD

    这个问题是后续问题这个问题 https stackoverflow com questions 44513186 how do i edit a commit with interactive rebase as uncommited 它试
  • C 中 If-Else 和三元运算符之间的速度差异...?

    因此 在同事的建议下 我刚刚测试了三元运算符和等效的 If Else 块之间的速度差异 并且三元运算符生成的代码似乎比 If Else 快 1 到 2 倍 我的代码是 gettimeofday tv3 0 for i 0 i lt N i
  • 在 R 中建立复杂方程模型

    我有以下模型 我在 R 中将其编码为 function t C Ao s wd ph C Ao exp s t cos wd t ph 我想用这个方程来形成一个预测模型 但是 我不知道如何成功运行或绘制这个方程 I tried nls但遇到
  • phpmyadmin 中的 $GLOBALS['cfg'] 在哪里

    我在phpmyadmin下的phpinfo php文件中发现 有这样的配置设置 if GLOBALS cfg ShowPhpInfo phpinfo 我想知道在哪里可以设置 GLOBALS cfg ShowPhpInfo 配置 当然 我可以
  • angularjs 编译 ng-controller 和插值

    On the docs https docs angularjs org api ng function angular injector我看到了一个后来添加的编译 东西 的例子 var div div content label div
  • Angularjs 会话存储和范围

    有人知道为什么我的范围变量没有更新吗 这让我难以置信 sessionStorage 变量很好 但是当我在范围变量中定义它们时 我收到 未定义 错误 我已经修改了 scope apply 但显然范围已经被消化了 S请帮助新手 if sessi
  • Javascript 从变量渲染 jpeg 二进制数据

    如何渲染 Javascript 变量中包含的 JPEG PNG 文件数据 是否可以 需要什么 JavaScript 库 使用的浏览器是FF IE Thanks 现代浏览器支持内联图像 http dean edwards name weblo
  • Django/Heroku:致命:角色的连接太多

    所以我刚刚通过 Heroku 业余爱好 和 Postgres 试用版 推出了一个包含 Channels 2 0 Daphne 2 2 0 和 asgi 的网站 当我启动网站时 我点击了几个页面 然后收到 500 错误 我通过电子邮件收到的错