Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Bug] Solução: Task - iniciando o servidor não finaliza

Galera, eu estive enfrentando esse problema e consegui contornar a situação. Entrei via SSH na máquina e executei os comandos manualmente, então encontrei a seguinte mensagem:

nohup: ignoring input and appending output to 'nohup.out'

Isso por si só não é um erro, porém causa o travamento do processo no bash e impede que o Ansible encerre a task. Porém, se você analisar o server estará rodando normalmente no ip:8000, apesar de não ter o OK do Ansible.

Uma solução que encontrei na internet é forçar o Ansible a finalizar a task, utilizando os comandos async e poll, logo abaixo do shell:

shell: '. /home/ubuntu/tcc/venv/bin/activate; nohup python /home/ubuntu/tcc/manage.py runserver 0.0.0.0:8000 &'
async: 300
poll: 0

Outra forma (gambiarra) de resolver o problema é fazer o nohup abrir um novo shell para ele, liberando o fechamento pelo Ansible. Nesse caso, mudaria somente um detalhe na linha do shell:

shell: '. /home/ubuntu/tcc/venv/bin/activate; nohup bash -c "python /home/ubuntu/tcc/manage.py runserver 0.0.0.0:8000 &"'

Não esqueça das alternância entre as aspas, para não causar confusão na linha.

Espero ter ajudado!

1 resposta
solução!

Oi Lucas, tudo bem?

Obrigada por compartilhar a solução que você encontrou para o problema de travamento do processo no bash ao utilizar o Ansible. Compartilhar experiências e soluções é muito importante para ajudar outras pessoas que possam estar enfrentando o mesmo desafio.

A solução que você encontrou utilizando os comandos async e poll parece ser uma boa alternativa para forçar o Ansible a finalizar a task. É interessante notar como pequenas alterações no código podem fazer a diferença no resultado final.

Outra opção que você mencionou é fazer o nohup abrir um novo shell, liberando o fechamento pelo Ansible. Essa é uma solução alternativa, que pode funcionar bem dependendo do contexto.

Muito obrigada, mais uma vez, por contribuir com a comunidade.

Um abraço e bons estudos.