
Eu tenho um servidor python baseado em Django e aipo. Cada vez que o computador é reiniciado, o apache2 é iniciado para que meu servidor funcione, MAS eu tenho que reiniciar o aipo manualmente (indo para o diretório do meu projeto e executando "python manager.py celeryd"). Qual é a solução correta para produção? Quero dizer, existe a possibilidade de iniciar o aipo como daemon?
Aquihttp://github.com/ask/celery/tree/master/contrib/debian/init.d/Encontrei dois scripts que parecem estar em /etc/init.d/, como o script Apache2 que inicia o Apache2. Mas eu os coloquei em /etc/init.d/ e como não vejo nada muda.
Responder1
Você pode vincular manualmente os scripts /etc/init.d de /etc/rc5.d/, para iniciar quando sua GUI o fizer. E você precisaria de outro para desligar.
Mas o Debian tem um método mais avançado (e melhor). Isso controla o que é vinculado aos scripts de inicialização dos níveis de execução individuais. É para isso que o "BEGIN INIT INFO" é usado na seção de comentários na parte superior desses scripts.
Se você estiver realmente usando o Debian, em vez de apenas usar scripts de um de seus recursos, tente usar
padrões de aipo update-rc.d padrões de aipo update-rc.d
Responder2
O Celery envia um exemplo de configuração paraSupervisor, um daemon que cuida das tarefas e daemons relacionados ao projeto. O Debian Unstable já possui uma versão empacotada do supervisor disponível. Se você instalá-lo, você só precisará modificar a configuração de amostra do celery (encontrada em contrib/supervisor) e colocá-la em /etc/supervisor/conf.d/.
Responder3
Você não mencionou qual distro está usando. É importante saber isso porque os scripts de inicialização variam bastante de distribuição para distribuição. Supondo que você esteja trabalhando com Redhat/CentOS...
Idealmente, você deve rastrear um script init.d. Esta é a melhor opção porque também é usada para desligar seu daemon com segurança, recarregar sua configuração, reiniciá-lo, etc. Se você quiser uma solução rápida e fácil, basta colar " python manage.py celeryd
" no final do /etc/rc.local
arquivo.
Editar: vejo pelo nome do caminho no seu exemplo que você está usando o Debian. Não tenho certeza se o Debian possui um arquivo /etc/rc.local. Mas deixarei esta resposta caso isso aconteça ou caso esta informação seja útil para outra pessoa.