开发者

Why is mod_wsgi not able to write data? IOError: failed to write data

What could be causing this error:

$ sudo tail -n 100 /var/log/apache2/开发者_开发技巧error.log'

[Wed Dec 29 15:20:03 2010] [error] [client 220.181.108.181] mod_wsgi (pid=20343): Exception occurred processing WSGI script '/home/username/public_html/idm.wsgi'.  
[Wed Dec 29 15:20:03 2010] [error] [client 220.181.108.181] IOError: failed to write data  

Here is the WSGI script:

$ cat public_html/idm.wsgi 
import os
import sys

sys.path.append('/home/username/public_html/IDM_app/')

os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()

Why would Django not be able to write data?

I'm running Django 1.2.4


That error, without any sort of Python traceback, may be a variation on issue described in:

http://code.google.com/p/modwsgi/issues/detail?id=29&can=1

That is, occurs when HTTP client connection is lost before the full response could be written back by the web server. It can manifest as 'client closed connection', 'failed to write data' or 'failed to flush data' IOError in Apache error log only. Ie., not seen by WSGI applicaton because the writing of data is occurring after WSGI application has returned and so can't throw exception back to the application to do anything with.

The question is whether you get an error message from Django if you configure errors to be sent to you in email. If you do, then instead is something happening in Django.


I have the same problem in an application that uses a lot of AJAX calls (mod_wsgi 3.3). Is there any known solution for this? I thought about just ignoring the exception, but that is normally not a very good idea.

UPDATE

Actually, this can be due to several things, but the most probable cause is that you are using the write callback instead of yielding your output.

I believe this will help:

http://groups.google.com/group/modwsgi/browse_thread/thread/c9cc1307bc10cfff


I've found the same problem with my python web app in Digital ocean and after checking the log file seriously I've discovered that It was a problem with my Database mysql ! The problem was due to the fact that I was running out storage (RAM) So check those question and solve the problem!

`For Mysql

And this

Hope It will help


I'm wagering it is a permissions issue. True making the target directory/file universally writable. Then make the file owned by your www-data group (or whatever your apache user is), make it group writable, and make sure nothing in that folder is sensitive because this could be a security problem.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜