i am trying to make web site which retrieves query from the user, and
process it by C++ based searching program. In order to achieve this, I
used python script which gets the query and send the query to C++
program by zeromq. However it seems like mod_wsgi cannot import zeromq
even though it perfectly worked well without mod_wsgi or without
zeromq

I got an error message like this;

File "D:/wsgi_app/wsgi_app.py", line 2, in <module>, referer: http://localhost/
         import zmq, referer: http://localhost/

File "D:\\util\\Python27\\lib\\site-packages\\zmq\\__init__.py", line
35, in <module>, referer: http://localhost/
         from zmq.utils import initthreads # initialize threads,
referer: http://localhost/

ImportError: DLL load failed: \xc1\xf6\xc1\xa4\xb5\xc8
\xb8\xf0\xb5\xe2\xc0\xbb \xc3\xa3\xc0\xbb \xbc\xf6 \xbe\xf8\xbd
\xc0\xb4\xcf\xb4\xd9., referer: http://localhost/

The code below shows how I implemented it. Please help me

import site
site.addsitedir("D:\\util\\Python27\\Lib\\site-packages")
from cgi import parse_qs, escape
import zmq # HERE IS THE ERROR
def application( # It accepts two arguments:
      # environ points to a dictionary containing CGI like environment
variables
      # which is filled by the server for each received request from
the client
      environ,
      # start_response is a callback function supplied by the server
      # which will be used to send the HTTP status and headers to the
server
      start_response):

    # get a query from the webpage :)
   data = parse_qs(environ['QUERY_STRING'])

   query = data.get('query', [''])[0]
   query = escape(query) #prevent script injection

   context = zmq.Context()
   socket = context.socket(zmq.REQ)
   socket.connect ("tcp://localhost:5555") #connect to C++ search
server database
   socket.send (query)

   # build the response body possibly using the environ dictionary
   response_body = 'The request method was %s' %
environ['REQUEST_METHOD']

   # HTTP response code and message
   status = '200 OK'

   # These are HTTP headers expected by the client.
   # They must be wrapped as a list of tupled pairs:
   # [(Header name, Header value)].
   response_headers = [('Content-Type', 'text/plain'),
                       ('Content-Length', str(len(response_body)))]

   # Send them to the server using the supplied function
   start_response(status, response_headers)

   # Return the response body.
   # Notice it is wrapped in a list although it could be any iterable.
   return [response_body]

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/modwsgi?hl=en.

Reply via email to