gunicorn 报错 Worker failed to boot. 解决办法

本文解决了一个Gunicorn启动时出现的Worker失败启动的问题,通过添加--preload参数获取了详细的错误信息,最终定位到是由于模块找不到导致的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下报错没有详细的信息,不知道代码具体哪里出了问题

Traceback (most recent call last):
  File "/home/charleswu/.virtualenvs/process/lib/python3.6/site-packages/gunicorn/arbiter.py", line 203, in run
    self.manage_workers()
  File "/home/charleswu/.virtualenvs/process/lib/python3.6/site-packages/gunicorn/arbiter.py", line 545, in manage_workers
    self.spawn_workers()
  File "/home/charleswu/.virtualenvs/process/lib/python3.6/site-packages/gunicorn/arbiter.py", line 617, in spawn_workers
    time.sleep(0.1 * random.random())
  File "/home/charleswu/.virtualenvs/process/lib/python3.6/site-packages/gunicorn/arbiter.py", line 245, in handle_chld
    self.reap_workers()
  File "/home/charleswu/.virtualenvs/process/lib/python3.6/site-packages/gunicorn/arbiter.py", line 525, in reap_workers
    raise HaltServer(reason, self.WORKER_BOOT_ERROR)
gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>

只需要在输入gunicorn命令的时候在后边加上参数 –preload,便可看到详细的报错信息
加上参数后的报错信息如下:

Traceback (most recent call last):
  File "/home/charleswu/.virtualenvs/process/bin/gunicorn", line 11, in <module>
    sys.exit(run())
  File "/home/charleswu/.virtualenvs/process/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 61, in run
    WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
  File "/home/charleswu/.virtualenvs/process/lib/python3.6/site-packages/gunicorn/app/base.py", line 223, in run
    super(Application, self).run()
  File "/home/charleswu/.virtualenvs/process/lib/python3.6/site-packages/gunicorn/app/base.py", line 72, in run
    Arbiter(self).run()
  File "/home/charleswu/.virtualenvs/process/lib/python3.6/site-packages/gunicorn/arbiter.py", line 60, in __init__
    self.setup(app)
  File "/home/charleswu/.virtualenvs/process/lib/python3.6/site-packages/gunicorn/arbiter.py", line 120, in setup
    self.app.wsgi()
  File "/home/charleswu/.virtualenvs/process/lib/python3.6/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/home/charleswu/.virtualenvs/process/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 52, in load
    return self.load_wsgiapp()
  File "/home/charleswu/.virtualenvs/process/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/home/charleswu/.virtualenvs/process/lib/python3.6/site-packages/gunicorn/util.py", line 350, in import_app
    __import__(module)
  File "/home/charleswu/AiDoctor/process_bchao/app.py", line 44, in <module>
    app = create_application()
  File "/home/charleswu/AiDoctor/process_bchao/app.py", line 31, in create_application
    from webapi import image_api
  File "/home/charleswu/AiDoctor/process_bchao/webapi/__init__.py", line 3, in <module>
    from .upload_image import image_api
  File "/home/charleswu/AiDoctor/process_bchao/webapi/upload_image.py", line 9, in <module>
    from interface import get_b_result
  File "/home/charleswu/AiDoctor/process_bchao/interface.py", line 6, in <module>
    from structuration import Struct
  File "/home/charleswu/AiDoctor/process_bchao/structuration.py", line 7, in <module>
    from split_word import desc_list, diag_list
ModuleNotFoundError: No module named 'split_word'

搞定!


/venv/lib/python3.12/site-packages/passlib/pwd.py:16: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81. import pkg_resources [2025-06-05 05:21:17 +0000] [1] [INFO] Starting gunicorn 23.0.0 [2025-06-05 05:21:17 +0000] [1] [INFO] Listening at: http://[::]:80 (1) [2025-06-05 05:21:17 +0000] [1] [INFO] Using worker: gthread [2025-06-05 05:21:17 +0000] [83] [INFO] Booting worker with pid: 83 /venv/lib/python3.12/site-packages/passlib/pwd.py:16: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81. import pkg_resources [2025-06-05 05:21:21 +0000] [83] [ERROR] Exception in worker process Traceback (most recent call last): File "/venv/lib/python3.12/site-packages/gunicorn/arbiter.py", line 608, in spawn_worker worker.init_process() File "/venv/lib/python3.12/site-packages/gunicorn/workers/gthread.py", line 94, in init_process super().init_process() File "/venv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 135, in init_process self.load_wsgi() File "/venv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 147, in load_wsgi self.wsgi = self.app.wsgi() ^^^^^^^^^^^^^^^ File "/venv/lib/python3.12/site-packages/gunicorn/app/base.py", line 66, in wsgi self.callable = self.load() ^^^^^^^^^^^ File "/venv/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py", line 57, in load return self.load_wsgiapp() ^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py", line 47, in load_wsgiapp return util.import_app(self.app_uri) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.12/site-packages/gunicorn/util.py", line 370, in import_app mod = importlib.import_module(module) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1387, in _gcd_import File "<frozen importlib._bootstrap>", line 1360, in _find_and_load File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 935, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 999, in exec_module File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed File "/pgadmin4/run_pgadmin.py", line 4, in <module> from pgAdmin4 import app File "/pgadmin4/pgAdmin4.py", line 93, in <module> app = create_app() ^^^^^^^^^^^^ File "/pgadmin4/pgadmin/__init__.py", line 478, in create_app run_migration_for_sqlite() File "/pgadmin4/pgadmin/__init__.py", line 451, in run_migration_for_sqlite os.chmod(config.SQLITE_PATH, 0o600) PermissionError: [Errno 1] Operation not permitted: '/var/lib/pgadmin/pgadmin4.db' [2025-06-05 05:21:21 +0000] [83] [INFO] Worker exiting (pid: 83) [2025-06-05 05:21:21 +0000] [1] [ERROR] Worker (pid:83) exited with code 3 [2025-06-05 05:21:21 +0000] [1] [ERROR] Shutting down: Master [2025-06-05 05:21:21 +0000] [1] [ERROR] Reason: Worker failed to boot. postfix/postlog: starting the Postfix mail system /venv/lib/python3.12/site-packages/passlib/pwd.py:16: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81. import pkg_resources
最新发布
06-06
File "/www/server/pyporject_evn/oa_venv/lib/python3.13/site-packages/gunicorn/util.py", line 370, in import_app mod = importlib.import_module(module) File "/www/server/pyporject_evn/oa_venv/lib/python3.13/importlib/__init__.py", line 88, in import_module return _bootstrap._gcd_import(name[level:], package, level) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1387, in _gcd_import File "<frozen importlib._bootstrap>", line 1360, in _find_and_load File "<frozen importlib._bootstrap>", line 1310, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed File "<frozen importlib._bootstrap>", line 1387, in _gcd_import File "<frozen importlib._bootstrap>", line 1360, in _find_and_load File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 935, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 1026, in exec_module File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed File "/www/wwwroot/oa/oa/__init__.py", line 1, in <module> import pymysql ModuleNotFoundError: No module named 'pymysql' [2025-03-22 13:09:40 +0800] [172358] [INFO] Worker exiting (pid: 172358) [2025-03-22 13:09:41 +0800] [172350] [ERROR] Worker (pid:172356) exited with code 3 [2025-03-22 13:09:41 +0800] [172350] [ERROR] Worker (pid:172355) was sent SIGTERM! [2025-03-22 13:09:41 +0800] [172350] [ERROR] Worker (pid:172358) was sent SIGTERM! [2025-03-22 13:09:41 +0800] [172350] [ERROR] Worker (pid:172357) was sent SIGTERM! [2025-03-22 13:09:41 +0800] [172350] [ERROR] Shutting down: Master [2025-03-22 13:09:41 +0800] [172350] [ERROR] Reason: Worker failed to boot.
03-23
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CharlesWu123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值