Upstart para o servidor web pydoc

1

Estou tentando usar upstart para que o pydoc webserver de um pacote que estou desenvolvendo sempre seja executado. Se eu executar na linha de comando:

pydoc -p 7464 /some_path/my_python_package

funciona bem, e ir para localhost:7464/my_python_package exibe a documentação. No entanto, se eu colocá-lo em um script upstart, por exemplo,

start on startup
start on runlevel [2,3,4,5]
stop on runlevel [0,1,6]

script
    pydoc -p 7464 /some_path/my_python_package
end script

quando abro o navegador em localhost:7464/my_python_package , obtenho o seguinte:

no Python documentation found for 'my_python_package' 

Note que localhost:7464 mostra todos os pacotes python padrão como normal, então parece que o upstart não está analisando o caminho corretamente.

Eu tentei usar export PYTHONPATH='/some_path' e alterar a linha de execução para pydoc -p 7464 $PYTHONPATH/my_python_package , mas isso também não funcionou.

    
por tdc 23.03.2012 / 12:40

1 resposta

2

A sintaxe que você especificou nessa tarefa está incorreta:

  • você tem várias estrofes ' start on '.
  • a última sub-rotina ' start on ' será considerada, mas a sua é inválida devido ao uso de vírgulas entre os níveis de execução (o seu ' stop on ' é inválido pelo mesmo motivo).

Você quer algo assim:

start on runlevel [2345]
stop on runlevel [016]

script
    pydoc -p 7464 /some_path/my_python_package
end script

Observe que com a versão 0.9.7 e superior do Upstart (em outras palavras, o Ubuntu Natty ou mais recente - consulte link ) , há um novo comando chamado init-checkconf que irá verificar o seu script para erros de sintaxe. O uso é simples:

$ init-checkconf myjob.conf

Observe que você deve executar init-checkconf como usuário (raiz não ).

Além disso, você está executando isso como uma tarefa do sistema (o arquivo de trabalho reside em / etc / init /?). Em caso afirmativo, você realmente precisa que o serviço seja executado como root? Se não, veja:

link

se você precisar realmente executar esse serviço como usuário root?

Por fim, recomendo ver o restante do Cookbook do Upstart:

por jamesodhunt 26.04.2012 / 18:20