O meu maior problema nessa história toda é que eu tinha que rodar um script Python de dentro de um script PHP. Até aí o problema não é tão bizarro assim. As funções exec() e popen() dariam conta do recado.
Entretando, tando uma quanto a outra deixam o navegador do cliente pendurado. Esperando. Parado. E logo veio minha pergunta: como disparar um processo Python em background de um arquivo PHP?
Melhor do que ficar escrevendo, acho mais simples colocar o código aqui.
main.phpE o arquivo Python foi simplesmente:
Running the engine. . .
");
$handler = popen("python dummy.py", "r");
while(!feof($handler))
{
print(fgets($handler));
print("
");
flush();
sleep(3);
}
pclose($handler);
print "done";
?>
Sei que não fui muito didático. Mas esse também é o tipo de coisa que quero lembrar.
dummy.py
import time
print "Starting a process..."
for i in range(30):
print i
time.sleep(1)
print "Process done!"