Est-il possible que CakePHP exécute une tâche de shell cakephp en arrière-plan pour en exécutant de longs rapports. Je voudrais également mettre à jour l'état actuel retour à l'utilisateur via la mise à jour d'une table au cours du rapport la génération et l'interrogation en utilisant Ajax.Exécution des shells CakePHP en arrière-plan
3
A
Répondre
3
Oui, vous pouvez exécuter des obus dans l'arrière-plan par l'intermédiaire normal du système appelle comme
/path/to/cake/console/cake -app /path/to/app/ <shell> <task>
La partie délicate est de commencer une manière asynchrone à partir de PHP; la meilleure option serait de mettre les travaux dans une file d'attente et de lancer le shell comme un travail cron de temps en temps, qui traite ensuite la file d'attente. Vous pouvez ensuite mettre à jour le statut du travail dans la file d'attente et interroger cette information via AJAX.
2
Envisager sa mise en œuvre en tant que démon: http://pear.php.net/package/System_Daemon
Questions connexes
- 1. Test en conditions réelles des contrôleurs CakePHP?
- 2. Documentation des composants CakePHP
- 3. Est-ce que CompositeWPF supporte plusieurs fenêtres/shells?
- 4. Exécution différée en C#
- 5. Cakephp en utilisant deux modèles
- 6. cakephp et recevoir des demandes
- 7. Exécution des services en tant que processus différents
- 8. exécution * binaires nix en Python
- 9. Exécution de l'application en continu
- 10. Conventions de dénomination des variables dans CakePHP
- 11. cakePHP Table Convention de nommage des champs
- 12. Exécution des builds dans le cloud
- 13. Exécution automatique des macros Excel sous Linux
- 14. en utilisant le composant CakePHP 'Acl'
- 15. Identification des tests à exécution lente
- 16. Exécution périodique d'une fonction en protocole tordu
- 17. Wix, PostgreSQL install, exécution des scripts Postgresql
- 18. Exécution de shell asynchrone en PHP
- 19. package SSIS exécution en utilisant l'utilitaire dtexec
- 20. Comment interroger des données dans CakePHP en utilisant des relations HABTM?
- 21. Exécution du format .NET en plein écran
- 22. erreur script shell exécution en PHP
- 23. WPF Dispatcher et exécution en arrière-plan
- 24. Exécution de l'application en cours d'exécution
- 25. CakePHP Absolute Image URLs
- 26. Sessions dans Cakephp
- 27. Exécution fn_trace_gettable
- 28. CakePHP - basic hasAndBelongsToMany problème
- 29. CakePHP et Kerberos
- 30. Erreurs de formulaire cakePHP
Avez-vous une autre option? Parce que pour autant que je sache, les emplois cron peuvent être programmés seulement chaque minute. Alors, que se passe-t-il si le processus a été mis en file d'attente juste après le dernier travail cron, il doit attendre une minute, n'est-ce pas? – codegy
J'avais l'impression que votre travail prenait plus de temps, donc une minute ou deux ne comptait pas. Voir ici: http://stackoverflow.com/questions/984577/php-need-a-cron-for-back-site-processing-on-user-signup-or-fork-process – deceze
@deceze comment donner ce chemin -/chemin/vers/gâteau/console/gâteau -app/chemin/vers/app/ dans crontab? –
Abhimanyu