IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez / Téléchargez Sources et Outils PHP Discussion :

Pseudo-Threads - PHP Asynchrone


Sujet :

Contribuez / Téléchargez Sources et Outils PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Par défaut Pseudo-Threads - PHP Asynchrone
    Bonsoir à tous et à toutes.

    Il y a quelques semaines déjà, je me suis amusé à coder en PHP une classe permettant de créer des pseudo-threads (ASYNC), ainsi qu'une classe de gestionnaire pour ces pseudo-threads (ASYNC_MANAGER).
    Ceci nécessite "seulement" que l'extension APC ("Alternate PHP Cache") soit activée.

    Qu'entends-je par "pseudo-threads" ? L'exécution non-bloquante (à priori, en tout cas c'était l'objectif fixé) d'une fonction ou méthode, et l'association éventuelle d'un callback à la fin de son exécution.

    En gros : "Pas besoin d'attendre que l'exécution de la fonction A soit terminée pour lancer l'exécution de la fonction B, et au besoin, attacher à chacune une fonction qui va gérer leur résultat à la fin de leur exécution".

    Les tests que j'ai effectués sont relativement basiques, avec des fonctions ou des méthodes simples, mais démontrent qu'un gain de temps est en effet possible (durée de calcul simulée par des sleep()). Je rend donc publiques ces fichiers pour multiplier les tests, afin de déterminer si c'est une technique à peu près fiable ou pas.

    Le source contenant les 2 classes, ASYNC.php est proprement commenté, le fichier tests.php l'est moins mais présente la plupart des cas de figure et l'utilisation à faire de ces 2 classes.

    Pour tester en mode "normal" :
    http://localhost/async/tests.php?standard=

    Pour tester en mode "asynchrone" :
    http://localhost/async/tests.php

    Je suis bien évidemment ouvert à toute question, toute critique constructive, sachant que le but de ce topic est de mettre à l'épreuve ma modeste "trouvaille".

    Merci et bonne nuit.
    Fichiers attachés Fichiers attachés

  2. #2
    Nouveau candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Par défaut
    Ça y'est, la barre des 100 vues sans aucune réponse a été franchie !

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Par défaut
    Ben c'est pas souvent que l'on se sert d'appels asynchrones en PHP. Moi je la trouve géniale ta source, cependant j'ai rien actuellement pour m'en servir et t'en remercier ; )

    mais sa reste gg

  4. #4
    Invité de passage
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1
    Par défaut
    Près d'un an plus tard...

    Pour ma part, j'ai précisément besoin de faire de l'asynchrone pour optimiser des appels SOAP qui sont terriblement longs. Je vais tester ta source et te tenir au courant.

    L'as-tu améliorée depuis ?

  5. #5
    Nouveau candidat au Club
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Par défaut
    C'est vrai que de l'asynchrone en PHP est assez hors du commun mais j'en ai aussi besoin pour un cas très particulier donc merci beaucoup

  6. #6
    Nouveau membre du Club
    Inscrit en
    Septembre 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 7
    Par défaut
    Bonjour à tous,

    je dois moi aussi appeler des web services en asynchrone. Y a-t-il eu des modifications sur ces fichiers depuis ?
    Quels sont les retours d'expérience sur ce sujet ?

    Merci d'avance pour vos réponses,
    Cordialement.

Discussions similaires

  1. Problème de SESSION avec les "pseudo-frame" PHP
    Par kergad dans le forum Langage
    Réponses: 10
    Dernier message: 24/05/2008, 01h12
  2. MySQL error : Lost connection dans des thread php
    Par max44410 dans le forum Requêtes
    Réponses: 0
    Dernier message: 17/01/2008, 08h38
  3. [Smarty] Pseudo Frames PHP
    Par Lolo19 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 19/03/2007, 07h15
  4. pseudo frames php
    Par kimcharlene dans le forum Langage
    Réponses: 5
    Dernier message: 27/11/2006, 20h52
  5. pseudo thread
    Par Mike35 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/02/2006, 10h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo