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

Langage PHP Discussion :

Faire une sorte de CRON avec une boucle while() en lisant des données XML


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 156
    Par défaut Faire une sorte de CRON avec une boucle while() en lisant des données XML
    Bonjour à tous,

    Je récupère des données XML via une page extérieure. Dans ces données j'ai un timestamp avec un id.

    Puis, je lance une boucle while() qui tourne en permanence et qui analyse lorsqu'un timestamp arrive à échéance pour lancer une fonction et renouveler le timestamp selon id, voici l'exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    // Récupération des données
    $xml='<data>
     
    	<evenement>
    		<time>1485509688</time>
    		<idclient>c_1355</idclient>
    	</evenement>
     
    	<evenement>
    		<time>1485510682</time>
    		<idclient>c_1356</idclient>
    	</evenement>
     
    	<evenement>
    		<time>1485509980</time>
    		<idclient>c_1357</idclient>
    	</evenement>
     
    	<evenement>
    		<time>1485609681</time>
    		<idclient>c_1358</idclient>
    	</evenement>
     
    </data>';
     
    	// Boucles qui tourne en permanence
    	while(true){
     
    	// Quel serait le code pour analyser le timestamp contenu entre les balise <time></time> ?
     
    	// J'avais pensé à une condition de genre :
     
    		if( "VALEUR de <time>" <= time()){
     
    		$nouveau_temps=function_client("VALEUR de <idclient>");
     
    		// Puis, on remplace la valeur de <time>
    		"VALEUR de <time> " = $nouveau_temps;
    		}
     
    	}
     
     
    function function_client($idclient){
     
    	if($idclient == "c_1355"){
    	$delay=100;
    	}
    	elseif($idclient == "c_1356"){
    	$delay=50;
    	}
    	elseif($idclient == "c_1357"){
    	$delay=45;
    	}
    	elseif($idclient == "c_1358"){
    	$delay=120;
    	}
     
    $delais_client=time()+$delay;
     
    return $delais_client;
    }
    J’exécute un fichier .bat pour faire tourner ce script.

    Hormis le fait de ne absolument pas savoir comment analyser et traiter en php les données XML, j'ai aussi une inquiétude sur la quantité de données car je risque d'avoir entre 50 000 et 100 000 id client... pensez-vous que ce genre de script peut tenir le coup ?

    Merci pour votre aide

  2. #2
    Membre émérite Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Par défaut
    Salut,

    quel est le but de ton script ?

  3. #3
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Par défaut
    Comme l'indique Geoffrey74 , c'est quoi le but réel de la manœuvre ?
    tu as un batch qui va lancer un srcript php qui va tourner tout le temps pour lire des données XML et les modifier?? pour moi le php n'est pas fait pour réaliser ce genre de chose.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 156
    Par défaut
    En fait j'ai simplifié le script.

    Il s'agit d'un serveur websocket qui tourne en permanence. Dans un premier temps il écoute et renvoie des informations aux clients connectés. Et, dans un deuxième temps, j'ai besoin de faire appel à des données xml externes pour traiter en parallèle des informations et les renvoyer via le websocket.

    La base est assez complexe. Dans la théorie pure, est-ce que vous voyez une solution à mon problème ?

    Merci pour vos réponses en tout cas

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 156
    Par défaut
    Et si je transformais les données XML en tableau multidimensionnel, la recherche dans ma boucle while sera t-elle plus simple ? Comment je pourrais faire ?

Discussions similaires

  1. [MySQL] [merci à Nnay ;)]Boucle while + SQL -> Affichage des données
    Par DiPSoMaNiE dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 15/01/2009, 12h45
  2. Comment faire un ORDER BY dynamique avec une direction?
    Par Danny Blue dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/03/2007, 03h46
  3. Réponses: 3
    Dernier message: 03/02/2007, 01h12
  4. [Débutant] Faire un graph ss lib avec une boucle
    Par Darkenshin dans le forum C
    Réponses: 5
    Dernier message: 24/11/2005, 17h39
  5. Comment initialiser une liste de composants avec une boucle ?
    Par EricSid dans le forum Composants VCL
    Réponses: 5
    Dernier message: 06/04/2005, 19h46

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