moyen le plus simple de démarrer un nouveau processus / thread en PHP
Scénario:
- Hébergement mutualisé, donc pas de possibilité d'installer de nouvelles extensions + pas de CRON
- Une demande présentée doit effectuer certaines lourd processus.
- Je veux la réponse au client d'aller aussi vite que possible, et le levage lourd pour continuer immédiatement, mais pas d'arrêter le client.
- peut être sur un nouveau thread (si c'est possible) aussi pas de problème avec le démarrage d'un nouveau processus.
Quelle est la meilleure façon de le faire?
source d'informationauteur Itay Moav -Malimovka | 2011-12-17
Vous devez vous connecter pour publier un commentaire.
Sur *nix:
Sur Windows:
Ces deux se frayer un nouveau processus qui exécute une-synchrone, complètement déconnectée de la mère. Tant que votre hôte vous permet de le faire.
Vous pouvez google clés: php poursuivre le traitement après la fermeture de la connexion.
Les liens suivants qui se rapportent à votre problème, sont:
Vous pouvez utiliser appartiennent commande à poursuivre l'exécution sans l'abandon de
Vous utilisez fastcgi_finish_request pour alerter les clients à arrêter la sortie de la réponse. Et vos scripts continueront d'être exécutées.
Un exemple:
Il n'y a pas de threads en PHP. Vous pouvez tricher en renvoyer une page HTML qui déclenche un appel Ajax pour démarrer le processus lourd dans une nouvelle demande. Mais si c'est de l'hébergement mutualisé, je suppose que vous vous rendrez vite frappé les limites de la mémoire, du temps ou de l'utilisation de l'UC imposées par votre fournisseur d'hébergement.
Ne peut pas passer argv pour test.php.