操作错误:无法创建UNIX套接字(24)
我正在使用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 */
这表示你已经用完了文件描述符。你的应用程序在不断地打开文件描述符,但没有关闭它们,这就导致了“泄漏”。