2010-07-13 25 views

Respuesta

11

Windows no tiene Cron (es el programa principal de programación de tareas para sistemas Linux). La versión de Windows para eso es Task Scheduler. This question recomienda usar el comando at.

Para que Cron no tenga nada que ver con la configuración de Apache, Mysql, PHP, no creo que sea posible probar de manera confiable las cronjobs que creó para Linux Cron en Windows (quizás con Cygwin).

+1

Nota al pie : El programa actual para usar el programador de tareas es 'schtasks',' at' ha quedado obsoleto durante algunos años, ya que representa solo las características presentes en versiones anteriores del programador de tareas. – Joey

-1

¿Qué quiere decir con "un trabajo de cron"? En una gran cantidad de sitios web hay una página especial como "cron.php", que se golpeó periódicamente, normalmente así:

0 * * * * wget http://example.org/cron.php 

En cuyo caso sólo tiene que golpear manualmente el archivo php cron para simular el comportamiento.

+3

"un trabajo cron" significa cron – Starx

+0

Bueno, lo que quise decir es, ¿qué está haciendo el trabajo cron? En términos de sitio web, "cron" normalmente es sinónimo de "trabajo que se ejecuta ocasionalmente", lo que se puede lograr con el programador de tareas o golpeándolo manualmente. Si literalmente necesitas probar un crontab, ese es un problema diferente. – ZoFreX

+0

Bien, entonces, ¿cómo usar el planificador de tareas para ejecutar un script PHP en un determinado Intervalo de tiempo? – Starx

2

Instale cron (sí, es available for Windows).

No quisiera quiero hacer eso en Windows. Probablemente sea mejor que agarre una copia de VirtualBox y cree algo que se asemeje mejor a su entorno de producción para hacer su desarrollo.

+0

No creo que esto responda la pregunta. wamp es para Windows y cron es para Unix/Linux así que solo decirle que instale cron no tiene ningún sentido. lo que probablemente quiso decir fue sugerir alguna alternativa a cron para Windows –

+0

@ChetanPaliwal - Un montón de software UNIX se ejecuta en Windows. Por ejemplo, Cron: http://cronw.sourceforge.net/ – Quentin

+0

sí, pero simplemente diciendo 'install cron' como respuesta sin dar ningún enlace o referencia, en mi opinión, es (no fue) una buena manera de responder –

2

Simplemente ejecute el trabajo desde la línea de comandos. Es el trabajo que quieres probar, no cron. Si es necesario tener que ejecutar a intervalos periódicos para simular cron, a continuación, utilizar el Windows "Tareas programadas" instalación

0

Prueba este commnad

<?php 

echo exec('0 13 * * * D:\wamp\bin\php -f D:\wamp\www\be.php'); 

?> 
+0

cuál es el código dentro de be.php – Rathinam

0

<meta http-equiv="refresh" content="0; url=http://localhost/myproject/cron.php" />

configurar un referesh meta inmediata: content = 0 cada 5 segundos: contenido = 5

+3

Esto es una redirección, no un trabajo de Cron. Trabajo de Cron, actúalo en silencio. El concepto completo es poder realizar alguna tarea, sin la intervención del usuario. Esto abrirá la página en la ventana y proceso. – Starx

5

puede ejecutar su script directamente desde la URL, significa que si desea ejecutar scripts cron_test.php t desde la configuración de cron y desea probar el resultado para el mismo, entonces puede ejecutar directamente este archivo desde localhost como http://www.localhost/XXXX/cron_test.php.

1

Puede cronizar sus trabajos en el entorno de Windows con solo una línea. Casi he pasado mis 5 horas, así que quiero compartir con otros hacer una tarea.

  • En el programa dar la ruta php.exe, con mi instalación es c: \ wamp \ bin \ php \ php5.3.5 \ php.exe.
  • En segundo lugar, debe colocar la ruta absoluta del archivo, que desea ejecutar. -f c:\wamp\www\foo\foo.php en el argumento

Eso es completo. No hay necesidad de instalar nada.

2

Puede ejecutar este:

set_time_limit(0); 
ignore_user_abort(true); 
while (1) 
{ 
    //your code here.... 
    sleep($timetowait); 
} 

Puede cerrar su navegador el guión seguirá

set_time_limit(0); hacer su trabajo de escritura sin límite de tiempo

sleep($timetowait); determinar el tiempo de espera antes de ejecutar el siguiente bucle de while()

ignore_user_abort(true); le t la secuencia de comandos continuar incluso si el navegador está cerrado

while(1) es un bucle infinito, por lo que esto nunca se detendrá hasta que salga de wamp.

+0

Para refinar mi voto favorable: este es un archivo .php que se activa ejecutando en un navegador. Hará el trabajo, pero tenga en cuenta que dejará algunos procesos Apache ejecutándose. –

7

Puede crear una página html y abrirla en el navegador. La función javascript setInterval llamará por períodos específicos.

A continuación se muestra el código para hacer esto. Especifique el intervalo (por ejemplo, 5000, que se ejecuta cada 5 seg.)

<html> 
<head> 
    <title>Cron</title> 
</head> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<body> 
<h1>Cron page</h1> 
<script type="text/javascript"> 
    setInterval(function(){ 
     $.get('http://localhost/test/test.php', function(data) { 
      console.log(data); 
     }); 
    }, 5000); 
</script> 
</body> 
</html> 

Nota: Para evitar CORS debe llamar ajax de mismo host o permitir CORS desde el lado del servidor.

Cuestiones relacionadas