m2wsgi.

um gateway Mongrel2 => WSGI
Baixe Agora

m2wsgi. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • MIT/X Consortium Lic...
  • Nome do editor:
  • Ryan Kelly
  • Site do editor:

m2wsgi. Tag


m2wsgi. Descrição

Um gateway Mongrel2 => WSGI O M2WSGI é um módulo Python que fornece um manipulador do WSGI Gateway para o servidor da Web do Mongrel2, permitindo fácil implantação de aplicativos Python no Mongrel2. Você também pode achar que suas classes de suporte são úteis para o desenvolvimento de manipuladores não-WSGI em Python.comMand-Line Usagethe Simple Way para usar este pacote é como um lançador de linha de comando: python -m m2wsgi pontificado.app.name tcp: //127.0. 0,1: 9999This se conectará ao Mongrel2 na porta de solicitação especificada e iniciará as solicitações de manipulação passando-as através do aplicativo WSGI especificado. Por padrão, você terá um único segmento de trabalhador, lidando com todas as solicitações; Aumente o número de threads como assim: python -m m2wsgi --num-threads = 5 pontilhados.app.name tcp: //127.0.0.1: 9999OR se os segmentos não são sua coisa, use o Eventlet para embaralhar os bits por isso : python -m m2wsgi --io = Eventlet pontted.app.name tcp: //127.0.0.1: 9999i estou interessado em adicionar suporte para outros módulos IO, como GEVENT; Contribuições Bem-vindas.Programatic usageif Você tem necessidades mais complicadas, você pode usar o M2WSGI de dentro do seu aplicativo. A classe principal é 'WSGIHANLER', que fornece uma interface de servidor simples. O equivalente do uso da linha de comando acima é: a partir de M2WSGI.BASE importação WSGIHANDLERHANDLER = WSGIHANDLER (my_wsgi_app, "TCP: //127.0.0.1: 9999") Handler.Serve () para o controle mais fino sobre a conexão entre o seu manipulador e Mongrel2 , Crie seu próprio objeto de conexão: a partir de m2wsgi.base Import WsgiHandler, ConnectionConn = Connection (send_spec = "tcp: //127.0.0.1: 9999", recv_spec = "tcp: //127.0.0.1: 9999", send_id = "9a5eee79 -dbd5-4f33-8fd0-69b304c6035a ") Handler = WsgiHandler (my_wsgi_app, conn) Handler.Serve () Não temos um desses? Vários realmente: * https://github.com/berry/mongrel2-wsgi -Handler * https://bitbucket.org/dolth/mongrel2_wsginone deles atendeu as minhas necessidades. Em particular, este pacote tem suporte transparente para: * RESPONSACHED Codificando * "Upload assíncrono" de grandes organismos de solicitação * Backends IO plugável (por exemplo, Eventlet, GEVENT) Também é projetado a partir do solo para cima especificamente para o Mongrel2. Isso significa que ele obtém muita funcionalidade gratuita, e o código é mais simples e mais leve como resultado. Por exemplo, não há gerenciamento explícito de um threadpool e solicita filas como você pode encontrar em e. o servidor cherrypy. Em vez disso, você acabou de iniciar os tópicos que você precisa, todos se conectam ao mesmo soquete do manipulador, e Mongrel2 (via ZMQ) irá carregar automaticamente as solicitações para eles. Não há suporte explícito para recarregar quando o código alterar. Basta matar o antigo manipulador e começar um novo. Se você estiver usando UUIDs de manipulador fixos, o ZMQ irá garantir que a entrega aconteça graciosamente. Requisitos: · Pitão Limitações: · Ao executar vários tópicos, o Ctrl-C não sai de maneira limpa. Parece que os fios de fundo ficam presos em um bloqueio de recv (). · O algoritmo de balanceamento de carga do ZMQ é robin redondo ganancioso, que não é ideal. Por exemplo, ele pode agendar várias solicitações rápidas para o mesmo tópico do lento, fazendo com que eles esperem mesmo se outros tópicos ficarem disponíveis. Estou trabalhando em um adaptador ZMQ que pode fazer algo melhor.


m2wsgi. Software Relacionado

p01.fsfile.

conceito de base de armazenamento de arquivo do sistema de arquivos para o Zope3 ...

293

Download