2010-09-11 9 views
0

Je travaille sur un site qui génère une image dynamique basée sur les données d'un autre site. Le problème est que le chargement des données de l'autre site à chaque fois que l'accès à l'image est lent. L'image affiche les statistiques actuelles d'une «équipe» sur un site Web de tournoi. Je veux faire un travail cron et une base de données qui travaillent ensemble pour mettre à jour les informations sur une "équipe" spécifique toutes les heures depuis la dernière mise à jour de l'équipe. Par exemple, je pourrais avoir le champ db suivant:Entrée de mise à jour PHP toutes les heures

ID, Name, Url, Wins, Losses, Xp, DateLastUpdated 

Donc, avec mon travail cron, je veux mettre à jour les entrées à chaque fois que la date actuelle est à une heure de la date dernière mise à jour. Comment dois-je faire cela? Existe-t-il une façon spécifique de stocker la date et l'heure? Dois-je même utiliser une date et à quelle fréquence dois-je exécuter le travail cron?

+0

Essayez d'utiliser CRON. – pltvs

Répondre

0

Si vous avez un système unix, placez un fichier dans /etc/cron.hourly/myjob contenant quelque chose comme:

#!/bin/bash 

php /path/to/script.php 

ou via crontab -e ou toute interface

01 * * * * php /path/to/sync-script.php 

devrait faire le travail. Il exécutera le script de synchronisation toutes les heures: 01

0

Vous n'avez pas besoin de stocker la dernière fois que l'image a été mise à jour; vous pouvez simplement définir votre travail cron pour fonctionner toutes les heures. Si le travail cron s'exécute une fois par heure et que c'est la seule chose qui crée l'image, vous savez que l'image a exactement 1 heure au moment de l'appel de votre script.