Les travaux Cron offrent en réalité seulement quelques avantages de base: la planification, l'exécution et la journalisation. Ce sont toutes les choses qui sont assez faciles à reproduire dans une application PHP ...
Première étape: créer une table des tâches
Vous auriez besoin de stocker:
- Fréquence des exécution
- Que exécuter (inclure le fichier, le rappel, le code eval, etc.)
- Calculer la date de la prochaine exécution
- précédent run magasin d Ates
Deuxième étape: Exécution
Vous avez quelques options sur la façon de déclencher réellement les tâches:
- Appel d'une image GIF vierge généré par PHP sur chaque course de page, qui déclenche le code cron.
- Appel d'un script AJAX qui exécute le code cron
- appel normalement dans votre application (peut ralentir l'exécution)
Peu importe comment il démarre, il déclencherait le code Cron réel, qui décide si il n'y a pas de tâches à exécuter, et celles à exécuter.
Troisième étape: Connexion
Celui-ci devrait être assez simple. Enregistrez simplement ce qui se passe pendant les tâches dans un fichier que vous pouvez lire après pour vous assurer qu'il fonctionne.
...
Avant d'exécuter une tâche, vous souhaitez mettre à jour la date de l'exécution précédente, et après l'exécution d'une tâche, vous devez créer la prochaine date d'exécution, en fonction de sa fréquence. Le seul inconvénient de cette méthode est que lorsque personne ne visite les sites, aucun travail ne sera exécuté jusqu'à ce que le prochain visiteur arrive.
Il serait intéressant de voir s'il existe une alternative, mais à ma connaissance il n'y en a pas. –
Zend Server (l'édition commerciale) dispose d'une file d'attente de tâches qui peut effectuer des tâches récurrentes. – Gordon