You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

非Docker环境下Django Celery报WorkerLostError SIGKILL错误是什么原因?

Django Celery WorkerLostError: signal 9 (SIGKILL) 触发原因(非Docker部署场景)

首先明确错误本质:signal 9 (SIGKILL)是操作系统层面的强制杀进程信号,无法被进程捕获、忽略或阻塞,该错误是Celery的工作进程被系统主动杀掉后,billiard组件检测到worker异常退出抛出的异常。

常见触发原因如下:

  • 系统内存不足触发OOM Killer:这是最常见的诱因,当Celery worker执行的任务占用内存过高,系统剩余内存不足以支撑进程运行时,Linux内置的OOM Killer(内存溢出杀手)会自动选择占用内存最高的进程发送SIGKILL信号释放内存。你可以通过查看系统日志验证:Debian/Ubuntu系统查看/var/log/syslog,CentOS/RHEL系统查看/var/log/messages,搜索是否存在Out of memory: Kill process相关记录,记录中会明确标注被杀死的进程ID是否对应异常退出的Celery worker。
  • 人为或脚本主动执行强制杀进程操作:如果管理员或运维脚本对Celery worker进程执行了kill -9命令,也会触发该错误。
  • 系统资源限制超限:如果Celery运行的系统用户配置了ulimit资源限制(比如最大内存占用、最大进程数等),当worker运行过程中占用资源超出阈值时,系统会直接发送SIGKILL杀掉超限进程。
  • Celery硬超时规则触发:如果你启动Celery worker时配置了--time-limit(硬超时时间)参数,当任务执行时长超出硬超时阈值时,Celery会主动给worker进程发送SIGKILL信号终止进程,避免异常任务长时间占用资源,此时也会抛出该错误。

内容的提问来源于stack exchange,提问作者Riyas Ac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 21:15:03