Warning: Illegal string offset 'language' in /homepages/7/d574192756/htdocs/zeidan/wp-content/plugins/igsyntax-hiliter/classes/frontend.php on line 510

Warning: ksort() expects parameter 1 to be array, string given in /homepages/7/d574192756/htdocs/zeidan/wp-content/plugins/igsyntax-hiliter/classes/frontend.php on line 513

Warning: Illegal string offset 'language' in /homepages/7/d574192756/htdocs/zeidan/wp-content/plugins/igsyntax-hiliter/classes/frontend.php on line 510

Warning: ksort() expects parameter 1 to be array, string given in /homepages/7/d574192756/htdocs/zeidan/wp-content/plugins/igsyntax-hiliter/classes/frontend.php on line 513

Ejecutar un trabajo Cron en GAE con PHP

01 de Dic, 2015


Warning: Illegal string offset 'language' in /homepages/7/d574192756/htdocs/zeidan/wp-content/plugins/igsyntax-hiliter/classes/frontend.php on line 510

Warning: ksort() expects parameter 1 to be array, string given in /homepages/7/d574192756/htdocs/zeidan/wp-content/plugins/igsyntax-hiliter/classes/frontend.php on line 513
Ejecutar un trabajo Cron en GAE con PHP
Rate this post

Para ejecutar un trabajo Cron en Gae, debemos añadir un par de lineas de código a nuestro app.yaml y generar un archivo cron.yaml desde donde colocaremos los datos de la ejecución:

Supongamos que tenemos un archivo prueba.php que ejecuta un script para enviar un correo electrónico desde php cada media hora. Y lo tendremos alojado dentro de la carpeta cronjobs/

  1. $asunto = 'Cron ejecutado';
  2. $correo = 'Cron ejecutado en hora '.date("F j, Y, g:i a");
  3. mail( 'tumail@dominio.com', $asunto, $correo);

Debemos entonces agregar primero nuestro script al app.yaml para que se pueda ejecutar, para ello después de handlers agregamos

handlers:
- url: /prueba
script: cronjobs/prueba.php

Luego generamos nuestro archivo que contendrá el trabajo cron llamado cron.yaml donde agregaremos el tiempo y la ruta a ejecutar y le daremos un nombre al mismo.

cron:
- description: Prueba de Cron
url: /prueba
schedule: every 30 minutes synchronized

Subimos todos estos archivos via SKD a nuestro sitio en GAE y cada 30 min recibiremos un correo electrónico informando la hora de la ejecución.

Nota: Si queremos eliminar nuestros trabajos de Cron establecidos, solo debemos subir a GAE un archivo cron.yaml con la palabra “cron:” al inicio.

Los  tiempos de ejecución para nuestro Cron, puede ser añadidos de la siguiente manera:

every 12 hours (cada 12 horas)
every 5 minutes from 10:00 to 14:00 (cada 5 minutos desde 10:00 a 14:00)
every day 00:00 (todos los dias a las 00:00)
every monday 09:00 (todos los lunes a las 09:00)
2nd,third mon,wed,thu of march 17:00 (segundo, tercero Lunes,Miercoles,Jueves de Marzo 17:00)
1st monday of sep,oct,nov 17:00 (1er Lunes de septiembre,octubre,noviembre 17:00)
1 of jan,april,july,oct 00:00 (1 de enero,abril,julio,octubre 00:00)

Si deseas añadirlo en cambio para un cierto tiempo usa la siguiente opción:

every N (hours|mins|minutes) ["from" (time) "to" (time)]

Nos quedaría por ejemplo:

every 2 hours from 10:00 to 14:00 (Cada 2 horas desde 10:00 a 14:00)

Para mas información dirígete a la siguiente URL https://cloud.google.com/appengine/docs/php/config/cron