在 REDIS+RABBITMQ+Celery 中访问 Postgres DB 会使用“信号 11 (SIGSEGV) 终止 Python 任务”

2024-06-25

当我们运行 SQL 命令时,例如:video = Video.objects.get(pk=1)在Python视图中,它工作没有任何问题。 然而,如果在定义为 celery 的方法中启动@shared_task, 它死了并杀死了PythonERROR/MainProcess] Process 'ForkPoolWorker-7' pid:25512 exited with 'signal 11 (SIGSEGV)'

同样的问题发生在两个独立的 Mac ARM M1 和 M2 环境上,而在两台旧 Mac 上运行的相同代码可以正常运行。

尝试过的解决方案

  • 我尝试将 Postgres 降级到旧版本
  • 我试图通过创建来提高内存限制/private/etc/sysctl.conf并设置如下:
kern.sysv.shmmax=8194304
kern.sysv.shmmin=1
kern.sysv.shmmni=128
kern.sysv.shmseg=128
kern.sysv.shmall=8024

根据:https://pgsql-admin.postgresql.narkive.com/cUOCGZFR/postgresql-server-termerated-by-signal-11# https://pgsql-admin.postgresql.narkive.com/cUOCGZFR/postgresql-server-terminated-by-signal-11#

我认为您很可能内存不足或运行完毕 反对内存的ulimit。我首先检查我的 ulimit 设置 postgres 用户,看看它们是否有点小。

但没有任何帮助。

环境

引起问题的:

大多数组件都是最新安装的(2022 年 8 月)

  • MacOS 蒙特利,12.4;苹果M2芯片
  • Python 3.8.9
  • RabbitMQ 3.10.7
  • Redis 服务器 v=7.0.4 sha=00000000:0 malloc=libc bits=64 build=ef6295796237ef48 (使用 redis python 包 4.3.4)
  • 芹菜Python包5.2.7
  • Postgres,原来版本是14.4,降级到12

精工细作:

  • MacOS 蒙特利,12.4; MacBook Pro(2015 年初,双核 Intel Core i5)
  • Python 3.9.13
  • RabbitMQ 3.10.6
  • Redis 服务器 v=7.0.3 sha=00000000:0 malloc=libc 位=64 build=b50a789ee26ce984 (使用 redis python 包 4.3.4)
  • 芹菜Python包5.2.7
  • Postgres,原始版本是14.4

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 REDIS+RABBITMQ+Celery 中访问 Postgres DB 会使用“信号 11 (SIGSEGV) 终止 Python 任务” 的相关文章

随机推荐

  • HTTP 缓存的授权检查

    我有如下列出的 Web API 方法 用于REST服务 这是为了获取库存审核员的所有用户信息 只有授权的 Inventory Auditor 用户才能访问此资源 RoutePrefix api users public class User
  • 为 REST Spring HATEOAS 控制器定义资源组装器

    我正在尝试将 HATEOAS 链接添加到由 Spring REST 控制器提供服务的 JSON 资源 我发现我应该使用资源汇编器 如下所述https github com spring projects spring hateoas htt
  • 是否可以复制 Azure 网站?

    我想将现有的 共享 模式 开发 网站复制到另一个 测试 共享 模式网站 这可能吗 我知道可以使用 T SQL 命令通过 SQL Azure DB 来完成此操作 此刻我 1 创建新网站 2 跨 Dev Azure 网站的 FTP 来测试 Az
  • posix 和 linux 特定函数的 C++ 包装器 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 您知道有什么好的库将 posix 和 linux 函数和结构 例如套接字或文件描述符 包装到 C 类中
  • 在图像批次中随机打乱补丁

    我正在尝试创建一个transform打乱批次中每个图像的补丁 我的目标是以与其他转换相同的方式使用它torchvision trans transforms Compose transforms CenterCrop 224 transfo
  • 字符串常量之前的预期标识符

    有一个这样的程序 include
  • 当我所做的只是压缩提交时,为什么 git-rebase 会给我带来合并冲突?

    我们有一个包含 400 多个提交的 Git 存储库 其中前几十个提交需要大量的反复试验 我们希望通过将许多提交压缩为单个提交来清理这些提交 当然 git rebase 似乎是最佳选择 我的问题是它最终会产生合并冲突 而且这些冲突并不容易解决
  • 用模板替换 ng-include 节点?

    对角度有点陌生 是否有可能replace包含模板内容的 ng include 节点 例如 与 div div src div div 生成的html为 div div src div div
  • 使用finally代替catch

    我已经多次看到这种模式了 bool success false try DoSomething success true finally if success Rollback 我一直想知道 为什么这比使用 catch 进行回滚更好 try
  • 加载 ng2-table 数据表单 API

    我正在学习 Angular 2 我想使用 PHP 中的 API 数据填充 ng2 table 我有一个返回数据的服务 但我不知道如何使用服务的订阅数据填充数据变量 我正在调用服务方法 getLanguages 我的服务代码是 import
  • 表排序器,无法正确按日期排序

    如果存在空格 表排序器的行为是否会有所不同 我对 tablesorter 还很陌生 但有人要求我快速将其添加到客户网站 特别是允许他们按发布日期排序 据我所知 日期 例如 2012 年 5 月 14 日 被读取为文本 因此我需要添加一个解析
  • 错误:‘:’标记之前需要初始化程序

    我正在尝试编译一些 C 代码 可以在 Windows 上使用 Visual Studio 2012 进行编译 g 4 4 我有这段代码 const std string cnw restoreSession const std vector
  • Angular4 - 如何确保 ngOnDestroy 在离开之前完成

    我有一个对象列表 用户可以单击其中一个 然后加载一个子组件来编辑该组件 我遇到的问题是 当用户返回列表组件时 子组件必须在 ngOnDestroy 方法中进行一些清理 这需要调用服务器来对对象进行最终的 修补 有时此处理可能会有点慢 当然
  • WebDAV PROPFIND 的示例代码

    有没有任何网站或某人可以向我提供一份 PROFIND 请求示例 我尝试了 MSDN 中的 PROFIND 代码示例 但收到 400 Bad request 无法理解为什么会发生这种情况 之前发布的问题位于从 WebDav 服务器收到 400
  • 使用 VS 2010 数据库管理示例数据

    我正在使用 Visual Studio 2010 中的数据库项目来管理我的所有数据库代码 对于我的应用程序 我们将每个客户端的数据分离到他们自己的数据库副本中 并使用通用数据库将用户映射到适当的数据库 我希望在 TFS 中保留几个不同的示例
  • 如何获取已打开连接的套接字 ID/句柄/描述符? (.NET、C++、德尔福)

    我的问题已在标题中说明 我到底该怎么做呢 我有一个开放的连接 我想 劫持 它并通过它发送我的自定义消息 据我了解 这是通过套接字及其处理程序完成的 任何语言都可以 但首选 C NET 谢谢 UPDATE 我到底想要实现什么 我想为 post
  • 如何从代码获取复制状态

    我已经在 SQL Server 2005 数据库上完成了复制 现在我想从我的 GUI 显示状态 可以是 C 或其他 是否有任何方法或 API 可以让我监控复制状态 这是为了客户端确认复制正在工作 Thanks 像这样的事情 http www
  • 金钱计算,Java 和 Oracle/PL SQL 的使用比较

    大家可以对 Oracle PL SQL 和 Java 在处理货币计算时的优缺点进行很好的比较 如果您要开发一个需要处理大量资金计算的应用程序 您会使用这两者中的哪一个 为什么 这个问题并不是要引发oracle pl sql和java爱好者之
  • FRebase Firestore onCreate 云函数事件参数未定义

    我尝试按照 Firebase 的文档和其他 SO 帖子访问我已成功部署的云函数的参数值 不幸的是我仍然收到了 类型错误 无法读取未定义的属性 id 我已经记录了 event params 并且它输出为未定义 所以我理解这个问题 但不确定从语
  • 在 REDIS+RABBITMQ+Celery 中访问 Postgres DB 会使用“信号 11 (SIGSEGV) 终止 Python 任务”

    当我们运行 SQL 命令时 例如 video Video objects get pk 1 在Python视图中 它工作没有任何问题 然而 如果在定义为 celery 的方法中启动 shared task 它死了并杀死了PythonERRO