Ejemplo n.º 1
0
def _register_service(application, service_addr, service_resp_addr, service_passphrase, handle=True):
    """ Create and store a connection and it's listener and waiting_clients queue.
    """
    logging.debug("service_passphrase: %s" % service_passphrase)
    assure_resource(application)
    key = create_resource_key(service_addr, _SERVICE_RESOURCE_TYPE)        
    if not is_resource_registered(key):
        # create our service connection
        logging.debug("register_service creating service_conn: %s" % service_addr)
            
        service_conn = ServiceClientConnection(
                        service_addr,  service_resp_addr, service_passphrase
                    )

        # create and start our listener
        logging.debug("register_service starting listener: %s" % service_addr)
        coro_spawn(
            service_response_listener,
            application, 
            service_addr, 
            service_resp_addr, 
            service_conn, 
            service_passphrase,
            handle
        )
        # give above process a chance to start
        coro_sleep(0)
    
        # add us to the list
        resource = {'service_conn': service_conn, 'waiting_clients': {}}
        register_resource(resource, key)
        logging.debug("register_service success: %s" % key)
    else:
        logging.debug("register_service ignored: %s already registered" % service_addr)
    return True
Ejemplo n.º 2
0
def receive_wsgi_req(environ, start_response):
    request = Request.parse_wsgi_request(environ)
    coro_spawn(route_message, self, request)
Ejemplo n.º 3
0
def receive_wsgi_req(environ, start_response):
    request = Request.parse_wsgi_request(environ)
    coro_spawn(route_message, self, request)