问题标签 [asyncpg]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 对 asyncpg 连接池使用“async with”时有关 __aexit__ 的属性错误
这是我Database
班上的一些相关代码:
我认为类上的静态属性将是存储连接池的理想方式,以前我每个类实例都有一个池,有点打败池的对象。get_connection
我现在在以下代码中调用错误:
回溯如下:
看来我get_connection
的过敏了async with
。如果我async with
用普通替换,await
那么东西会再次起作用:
我得到一个属性错误这里有什么问题__aexit__
?
我被提到了这个问题,但我无法“适应”问题中的代码结构和我的场景的给定答案。
python - 尝试运行创建表查询时出现 UndefinedObjectError
我正在尝试使用此架构创建一个表:
但是我在尝试创建它时遇到了这个错误:
这可能是权限问题吗?什么问题?
python - Sqlalchemy 设置默认日期时间导致错误
我正在尝试将默认当前时间设置为字段,但出现错误。我正在使用 sqlalchemy 和 asyncpg。
错误:
桌子
版本
命令:
python - 时间戳的 Asyncpg INSERT 查询在“18”处或附近返回 ERROR 语法错误
您好我在尝试添加时间戳时遇到错误。我不断收到错误asyncpg.exceptions.PostgresSyntaxError: syntax error at or near "18"
,这条线end_date = duration + dt.datetime.now(bst) # timestamp
似乎是罪魁祸首,但我不确定为什么会这样。
这是我正在使用的内容:
python - SQLAlchemy 正确处理死锁
我正在使用具有以下初始化的 SQLAlchemies 异步引擎,并希望从死锁中恢复。由于我在文档中找不到任何相关信息,我决定使用 timeout 参数。
我现在面临的问题是我找不到从 TimeoutErrors 中恢复的正确方法。
第 1 次尝试
导致以下错误:
第 2 次尝试
导致以下错误:
所以我的问题是,我该怎么办?
编辑
经过进一步测试,我意识到超时参数不起作用。当死锁发生时,SQLAlchemy 停止响应并且 asyncio 用以下消息填充日志:
有趣的是,应用程序的其余部分不受它的影响,并继续按预期工作。
更多信息
使用 MySQL 而不是 PostgreSQL 时也会出现此问题。不执行选择或更新查询。对大约 300 个不同的表执行大约 1000 次插入的突发足以以一定的概率导致此问题。在我们的应用程序中,引擎在使用大约 10 分钟后锁定。我们发现缓解此问题的唯一方法是每 5 分钟终止并重新启动 python 脚本。
python-3.x - 使用 asyncpg 在 postgresql 中获取 ConnectionRefusedError
尝试连接到我的数据库时出现 ConnectionRefusedError
我已将用户 postgres 更改为 postgresql
这是完整的错误:
提前致谢!
python-3.x - 获取多行的问题
嗨,我正在从 psycopg2 转移到 asyncpg,在这种情况下,我在尝试返回 asyncpg 中的多行时遇到了问题 10。在 psycopg2 中,我将通过以下方式执行此操作:
心理咨询师2
asycpg
我有点卡在 asyncpg 部分帮助将不胜感激。
这是我正在使用的内容:
sqlalchemy - sqlalchemy 获取最后插入的 ID|创建的记录(asyncpg 适配器)
我知道这个问题被问过很多次了,但是现在sqlalchemy有了新的版本和语法,所以这些答案主要是过时的
我试过: print(r.fetchone()) # None r.lastrowid # AttributeError: 'AsyncAdapt_asyncpg_cursor' 对象没有属性 'lastrowid'
那么默认解决方案是什么
java - 如何在 docker 中提供多个运行时?就像 Java 和 python 在 docker 中完全一样,并且需要像 asyncpg 这样的依赖项
我正在一个 Java spring boot 应用程序中工作,作为 docker 容器运行。
这个应用程序的主要目的是执行 python 脚本。所以在 docker 容器内,我必须提供可用的 python 环境。我用这段代码添加了 python 运行时。但似乎这是非常基本的 python 版本,我无法提供其他重要的库。
就像,我想添加“asyncpg”库,以便我可以使用连接池。
但它不允许我添加 asyncpg 库。
下面是docker文件。
注意:我已经评论了“#FROM python:3.6-alpine”,如果我打开它,那么 java 运行时将不可用,即“FROM openjdk:8u191-jre-alpine3.8”
------- Docker 文件 --------------
python - 如何通过守护线程从同步代码中使 asyncpg 驱动程序工作?
我有一个具有同步和非同步代码的应用程序(因为它进行计算)。
Asyncpg 声称比 psycopg2 快得多,这里: https ://magic.io/blog/asyncpg-1m-rows-from-postgres-to-python/
我想出了在 DatabaseManager 上动态修补的代码,它本身使用 asyncpg 和协程方法。目标是使同步代码可以使用相同的界面。有一个更好的方法吗?
AsyncioWorkerThread 只是在守护线程中运行的事件循环。(见这个链接https://stackoverflow.com/questions/67199459/asyncio-loop-in-daemon-thread)