¿Cómo guardar datos de una API json con PHP y Mysql cada 1 minuto?

publicado por: Anonymous

Tengo acceso a una API que me devuelve datos en json. Quiero guardarlos en mi base de datos para crear historial. Ejemplo de json:

"datos": {
    "euro/dolar": "1,43432"
}

El valor de ‘euro/dolar’ cambia cada minuto. En este momento tengo mi variable PHP:

$dato_de_forex['eurodolar'];

¿Como puedo guardarlo automáticamente cada minuto en mi tabla Mysql sin que nadie tenga que visitar mi página para ejecutar el PHP?

El servido que utilizo es Apache2 con Linux.

Gracias!

solución

Puedes hacer un mini-daemon con do while y sleep() e insertarlo en /etc/rc.local para que se ejecute en forma automática, así evitas el problema de cron que se sobrecargue cada 1 minuto, no olvides agregar tú código para extraer $dato_de_forex[‘eurodolar’].

/usr/src/euro.php

<?php
$bucle=true;
do {
$euro=$dato_de_forex['eurodolar'];
$link = mysqli_connect("127.0.0.1","mi_usuario","mi_contraseña","mi_bd");
$result = mysqli_query($link, "update table_euro set euro=$euro where id=1")
mysqi_close($link);
sleep(60);//1 minuto
} while ($bucle);
?>

Luego en /etc/rc.local agregas la línea

php -q usr/src/euro.php  
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *