日志中的lighttpd/fastcgi/python错误
我在Lighttpd上运行一个web.py应用程序,发现ajax请求偶尔会失败(有时会很好,有时不会),因此我查看了错误日志,发现其中充满了以下内容:日志中的lighttpd/fastcgi/python错误,python,lighttpd,web.py,fastcgi,Python,Lighttpd,Web.py,Fastcgi,我在Lighttpd上运行一个web.py应用程序,发现ajax请求偶尔会失败(有时会很好,有时不会),因此我查看了错误日志,发现其中充满了以下内容: 2014-07-02 17:22:33: (mod_fastcgi.c.2673) FastCGI-stderr: Traceback (most recent call last): 2014-07-02 17:22:33: (mod_fastcgi.c.2673) FastCGI-stderr: File "/usr/local/lib/
2014-07-02 17:22:33: (mod_fastcgi.c.2673) FastCGI-stderr: Traceback (most recent call last):
2014-07-02 17:22:33: (mod_fastcgi.c.2673) FastCGI-stderr: File "/usr/local/lib/python2.7/dist-packages/web/application.py", line 237, in process
2014-07-02 17:22:33: (mod_fastcgi.c.2673) FastCGI-stderr: return p(lambda: process(processors))
2014-07-02 17:22:33: (mod_fastcgi.c.2673) FastCGI-stderr: File "/usr/local/lib/python2.7/dist-packages/web/session.py", line 85, in _processor
2014-07-02 17:22:33: (mod_fastcgi.c.2673) FastCGI-stderr: self._load()
2014-07-02 17:22:33: (mod_fastcgi.c.2673) FastCGI-stderr: File "/usr/local/lib/python2.7/dist-packages/web/session.py", line 106, in _load
2014-07-02 17:22:33: (mod_fastcgi.c.2673) FastCGI-stderr: d = self.store[self.session_id]
2014-07-02 17:22:33: (mod_fastcgi.c.2673) FastCGI-stderr: File "/usr/local/lib/python2.7/dist-packages/web/session.py", line 250, in __getitem__
2014-07-02 17:22:33: (mod_fastcgi.c.2673) FastCGI-stderr: return self.decode(pickled)
2014-07-02 17:22:33: (mod_fastcgi.c.2673) FastCGI-stderr: File "/usr/local/lib/python2.7/dist-packages/web/session.py", line 210, in decode
2014-07-02 17:22:33: (mod_fastcgi.c.2673) FastCGI-stderr: return pickle.loads(pickled)
2014-07-02 17:22:33: (mod_fastcgi.c.2673) FastCGI-stderr: EOFError
以前有人遇到过这些错误吗?编辑此文件:/usr/local/lib/python2.7/dist-packages/web/session.py
import threading
lock = threading.Lock()
class DiskStore(Store):
.......
.......
def __getitem__(self, key):
path = self._get_path(key)
if os.path.exists(path):
lock.acquire()
f = open(path)
try:
pickled = f.read()
return self.decode(pickled)
finally:
f.close()
lock.release()
else:
raise KeyError, key
def __setitem__(self, key, value):
path = self._get_path(key)
pickled = self.encode(value)
try:
lock.acquire()
f = open(path, 'w')
try:
f.write(pickled)
finally:
f.close()
lock.release()
except IOError:
lock.release()
pass
2014-07-02 17:22:33:(mod_fastcgi.c.2673)fastcgi标准:回溯(最近一次呼叫最后一次):
2014-07-02 17:22:33:(mod_fastcgi.c.2673)fastcgi标准:文件“/usr/local/lib/python2.7/dist-packages/web/application.py”,第237行,正在处理中
2014-07-02 17:22:33:(mod_fastcgi.c.2673)fastcgi标准:返回p(lambda:进程(处理器))
2014-07-02 17:22:33:(mod_fastcgi.c.2673)fastcgi标准:文件“/usr/local/lib/python2.7/dist-packages/web/session.py”,第85行,在处理器中
2014-07-02 17:22:33:(mod_fastcgi.c.2673)fastcgi标准:自加载
2014-07-02 17:22:33:(mod_fastcgi.c.2673)fastcgi标准:文件“/usr/local/lib/python2.7/dist-packages/web/session.py”,第106行,在加载中
2014-07-02 17:22:33:(mod_fastcgi.c.2673)fastcgi标准:d=self.store[self.session_id]
2014-07-02 17:22:33:(mod_fastcgi.c.2673)fastcgi标准:文件“/usr/local/lib/python2.7/dist packages/web/session.py”,第250行,在getitem
2014-07-02 17:22:33:(mod_fastcgi.c.2673)fastcgi标准:返回自我解码(pickled)
2014-07-02 17:22:33:(mod_fastcgi.c.2673)fastcgi标准:文件“/usr/local/lib/python2.7/dist packages/web/session.py”,第210行,解码
2014-07-02 17:22:33:(mod_fastcgi.c.2673)fastcgi标准:返回酸洗。装载(酸洗)
2014-07-02 17:22:33:(mod_fastcgi.c.2673)fastcgi stderr:eoferor我认为查看代码(至少是Ajaxed部分)会有所帮助