2010-10-20 17 views
1

Mon objectif est d'exécuter une fonction toutes les secondes. Et vérifiez certaines fonctionnalités basées sur le temps. Par exemple, dans ma demande, j'ai cinq groupes d'utilisateurs. Chacun des utilisateurs a une tâche particulière. Et attribué une période de temps particulière. La tâche d'abord assignée aux utilisateurs de niveau inférieur (c'est-à-dire, 5ème niveau). Si ces utilisateurs ne peuvent pas effacer la tâche avec le temps alloué, ils seront automatiquement réaffectés au prochain niveau d'utilisateurs (ici le 4 e niveau). Ma structure de table est Utilisateurs-> nom, temps alloué Tâches-> titre de la tâche, description de la tâche. Si quelqu'un connaît la solution, aidez-moi s'il vous plaît.Comment régler le minuteur dans Cakephp?

Merci d'avance.

Répondre

2

Vous devez configurer une tâche cron dans votre système d'exploitation (Unix, Windows, etc.) qui appellera un script shell CakePHP à chaque intervalle.

http://book.cakephp.org/view/846/Running-Shells-as-cronjobs.

Si vous souhaitez que l'application s'exécute uniquement lorsqu'un utilisateur a une page particulière chargée, vous pouvez utiliser JavaScript pour effectuer des appels AJAX à intervalles réguliers.

http://roshanbh.com.np/2008/03/call-php-ajax-every-second-jquery.html

(Je ne fais aucune garantie quant à l'un de ces liens, j'ai trouvé chaque après environ 5 secondes de recherche sur Google.)

+1

Soyez prudent lorsque vous utilisez une tâche cron, surtout si vous l'appelez tous les deux de secondes. Dans ce cas, si cela prend plus de temps que l'intervalle entre les appels, vous pourriez exécuter deux des mêmes tâches à la fois, ce qui (en fonction de quoi et comment vous faites les choses) pourrait vraiment causer des problèmes. –