操作错误:无法创建UNIX套接字(24)

0 投票
2 回答
2739 浏览
提问于 2025-04-17 13:04

我正在使用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)

2 个回答

0

也许你并不是忘记关闭文件,而是同时打开了太多文件。

1

在我的电脑上,errno==24的意思是

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

这表示你已经用完了文件描述符。你的应用程序在不断地打开文件描述符,但没有关闭它们,这就导致了“泄漏”。

撰写回答