【问题标题】:OperationalError: (2001, "Can't create UNIX socket (24)")OperationalError:(2001,“无法创建 UNIX 套接字 (24)”)
【发布时间】:2012-03-06 17:55:00
【问题描述】:

我使用的是 django-1.2 和 python-2.6,我使用的是 mysql 服务器。

工作了一段时间 - 选择和更新记录,我得到了这个错误:

Exception in thread Thread-269:
Traceback (most recent call last):
  File "/usr/lib64/python2.6/threading.py", line 532, in __bootstrap_inner
  File "dispatcher.py", line 42, in run
  File "/usr/lib/python2.6/site-packages/django/db/models/query.py", line 80, in __len__  
  File "/usr/lib/python2.6/site-packages/django/db/models/query.py", line 271, in iterator  
  File "/usr/lib/python2.6/site-packages/django/db/models/sql/compiler.py", line 677, in results_iter  
  File "/usr/lib/python2.6/site-packages/django/db/models/sql/compiler.py", line 731, in execute_sql  
  File "/usr/lib/python2.6/site-packages/django/db/backends/__init__.py", line 75, in cursor  
  File "/usr/lib/python2.6/site-packages/django/db/backends/mysql/base.py", line 297, in _cursor  
  File "/usr/lib64/python2.6/site-packages/MySQLdb/__init__.py", line 81, in Connect  
  File "/usr/lib64/python2.6/site-packages/MySQLdb/connections.py", line 187, in __init__  
OperationalError: (2001, "Can't create UNIX socket (24)")

这是我的dispatcher.py 的第 41,42 行:

dataList = Mydata.objects.filter(date__isnull=True)[:chunkSize]
print '%s - DB worker finished reading %s entrys' % (datetime.now(),len(dataList))

知道为什么我会收到此错误吗?
我尝试谷歌搜索,但找不到答案。

我正在使用 django 连接到数据库 - (我使用的是 localhost)

【问题讨论】:

  • 你的mysql连接是什么样的?
  • 你初始化了多少数据库连接?也许你的文件描述符用完了......
  • 请尝试连接mysql cli客户端。如果可以连接,请尝试使用 django
  • 我使用 django orm 连接,我不知道有多少连接,因为 django orm 会处理这个问题。

标签: python mysql django sockets exception


【解决方案1】:

也许您没有忘记关闭文件。但是同时打开的文件太多。

【讨论】:

    【解决方案2】:

    在我的机器上,errno==24 的定义如下

    #define EMFILE          24      /* Too many open files */
    

    这意味着您的文件描述符用完了。您的应用通过一次又一次地打开(而不是关闭它们)来“泄漏”文件描述符。

    【讨论】:

    • 我在哪里打开它们?我应该在哪里关闭它们? django 不应该处理这个吗?
    • 那么错误显然源自 Python connections.py::init 函数。因此,要么 .py 中间件错误,要么您使用错误(您正在泄漏数据库连接,例如通过为每个查询调用 init)
    • @yossi:看看file descriptors是什么。
    猜你喜欢
    • 2013-12-02
    • 1970-01-01
    • 2019-01-10
    • 2022-11-12
    • 2017-08-14
    • 2022-01-18
    • 1970-01-01
    • 2012-12-10
    • 2015-06-06
    相关资源
    最近更新 更多