I'm using Python 1.5.2 on Redhat 6.2, and am trying to use FastCGI with
Webware-0.4.1
I'm just trying out Webware and got the 'OneShot' adapter working. Now,
I want to try out FastCGI. I've built the FastCGI loadable module for
Apache, and tried to use FCGIAdapter.py.
Apache's server log shows that FCGIAdapter failed on
'import fcgi'
I didn't see any indication that I was supposed to install this Python
module, and it doesn't appear that FCGIAdapter.py sets its 'sys.path' to
include /<prefix>/WebKit. So, I copied fcgi.py to
/usr/lib/python1.5/site-packages.
Also, I didn't see the documentation on what <prefix>WebKit/address.text
should contain. Seems like you should provide a default version of this
file.
Once I generated address.text, containing:
localhost:8086
I then invoked FCGIAdapter.fcgi
My browser showed:
ERROR
Traceback (innermost last):
File "/etc/httpd/cgi-bin/FCGIAdaptor.fcgi", line 130, in FCGICallback
s.send(dumps(dict))
ValueError: unmarshallable object
You can't call this from the command-line
------------------------------------------------
Why can't 'dict' be marshalled, so it can be sent on a socket?
The error handling in AppServer could be improved, since this error in
FCGIAdapter caused an error in AppServer.
--------------------------------------------------
BEGIN REQUEST
Mon Oct 9 18:45:51 2000
receiving request from <socket object, fd=7, family=2, type=1,
protocol=0>
received 0 bytes
Exception in thread Thread-1:
Traceback (innermost last):
File "/var/tmp/python/python-root/usr/lib/python1.5/threading.py",
line 376, in __bootstrap
self.run()
File "/var/tmp/python/python-root/usr/lib/python1.5/threading.py",
line 364, in run
apply(self.__target, self.__args, self.__kwargs)
File "ThreadedAppServer.py", line 121, in threadloop
rh.handleRequest()
File "ThreadedAppServer.py", line 257, in handleRequest
transaction = self.server._app.dispatchRawRequest(dict)
NameError: dict
-----------------------------------------------------
When I look at the ThreadedAppServer.py, 'dict' only gets set if 'data'
exists, but the statement:
transaction = self.server._app.dispatchRawRequest(dict)
uses 'dict', even if 'dict' isn't set.
What am I doing wrong, or is there
--
Joe VanAndel
National Center for Atmospheric Research
http://www.atd.ucar.edu/~vanandel/
Internet: vanandel@...
|