Executar script em php e que fique ativo depois de fechar o console

  • Autor Autor mauropek
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
M

mauropek

Curioso
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Buenas, consulta. Necesito ejecutar un script en php desde el cmd (estoy usando XAMPP en Windows) y quiero ejecutar ejectutar php example.php y que este continue corriendo aún cuando cierro la consola. Entiendo que debo usar algún tipo de daemon como suelo usar para nodejs, pero no logro dar con la manera de hacerlo en php. Alguien puede darme una mano?

Gracias.
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
creo que te refieres a un "cron". con laravel podrías hacerlo de manera fácil usando commands. Solo escribes tu lógica y lo demás Laravel ya lo tiene implementado.
 
creo que te refieres a un "cron". con laravel podrías hacerlo de manera fácil usando commands. Solo escribes tu lógica y lo demás Laravel ya lo tiene implementado.
No, no es un cron. Es un proceso en segundo plano. Debe quedar siempre activo. Como cuando se ejecuta con nohup en linux.
 
No, no es un cron. Es un proceso en segundo plano. Debe quedar siempre activo. Como cuando se ejecuta con nohup en linux.
Ok busca en github. hace un par de años use uno. Pero no me acuerdo el nombre... era algo como php-daemon o parecido.

El problema era que consumia recursos al ejecutarse todo el rato, seguro que necesitas algo asi? no necesitas un trigger, store procedure, job, command?
 
Ok busca en github. hace un par de años use uno. Pero no me acuerdo el nombre... era algo como php-daemon o parecido.

El problema era que consumia recursos al ejecutarse todo el rato, seguro que necesitas algo asi? no necesitas un trigger, store procedure, job, command?
Sí, es lo que necesito. De hecho en node lo hago con "demonize".
 
¿No es mejor un cronjob que se ejecute cada segundo?
 
Podes armarte un script para que instale tu script como servicio usando las funciones que provee php: https://www.php.net/manual/es/ref.win32service.php, ahi llamas a la funcion

win32_create_service​

y te crea un servicio que queda corriendo en segundo plano, por supuesto que el script que registres como servicio tiene que estar en un loop.
 
Como dice el compañero arriba con docker
 
También puedes usar el task scheduler de windows


Y si con php.exe no te sirve, incluso podrías llamar directamente al navegador, y luego cerrarlo llamando a un .bat con este código

Inserir CODE, HTML ou PHP:
echo off
SET SLEEPDELAYMIN=1

SET /A SLEEPDELAY=60*SLEEPDELAYMIN
echo Will close Firefox after %SLEEPDELAYMIN% minutes
timeout /t %SLEEPDELAY% /nobreak

echo Killing Firefox...
taskkill /F /T /IM firefox.exe
 
¿Cómo mejoraría el problema tener el script dockerizado?
 
Voltar
Topo