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

PHP & Base de données Discussion :

[Conception] Meilleur methode pour une opération lourde ?


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Points : 878
    Points
    878
    Par défaut [Conception] Meilleur methode pour une opération lourde ?
    Salut a tous,

    en fait j'ai besoin de vos conseil. Je suis en train de faire un comparateur de prix. Pour ce faire je lis un fichier .csv qui contient toutes les données sur les produits distribuées pas le sites marchands.

    SUr mon site, dans ma base de donnée j'ai une table par site marchand (pour éviter d'aller lire a chaque fois dans le csv).

    Donc il faut que je la mettent a jours de temps à autreS.

    Pour ce faire j'avais pensé à faire un bouton "recharger" qui remettrais a jours la base de donné.
    Le problème c'est que c'est une opération très lourdes. (juste le fait d'extraire les données ca fait ramer mon pc avec WAMP).

    Donc qu'elle methode me conseiller vous?

    En fait j'avais penser à mettre un petit timer entre chaque requette (donc une requette par produit).

    Le script mettra plus de temps a s'executer mais consommera moin de ressource en faisant ca non?

    Que me conseillerez vous? (ne me dite pas de prendre plusieurs serveurs dédié ^^).

    Arf, de toute facon je viens de réessayer mon script et il me renvoie l'erreur:

    Fatal error: Maximum execution time of 30 seconds exceeded in D:\wamp\www\manganimesV3.0\lectcsv.php on line 88

    Donc avec les timers ca sera encore pire.
    Comment puis-je m'y prendre?

    Bon je me suis débrouiller et j'ai bidouiller un truc qui marche avec des rafraichissement.

    (je met la valeur du compteur de la boucle dans l'url et je continue la boucle ou elle en était).

    Pour ce qui est des ressources serveurs. J'ai 2 possibilitée:

    1 - laisser se faire la boucle le plus rapidement possible.
    2 - Mettre un sleep cour (genre 0.1 sec) a chaque itération.

    A votre avis quelle est la meilleur solution pour les ressources? Finir le script le plus rapidement possible (il prend plus d'une minute à s'executer), ou allonger temps d'execution en rendant la tache plus légère avec des pauses?

  2. #2
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Points : 2 853
    Points
    2 853
    Par défaut
    Tu devrais vraiment éviter les multi post ...

    J'ai une question : pourquoi tu n'utiliserais pas un tache cron (exécution automatique de script) ?!
    ça te permettrais de faire ça automatiquement sans devoir appuyer sur un bouton et tu peux le faire par petite partie.

    Par contre à part savoir que ça existe c'est pas moi qui vais t'expliquer comment ça fonctionne

  3. #3
    Membre éclairé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Points : 878
    Points
    878
    Par défaut
    Citation Envoyé par omura
    Par contre à part savoir que ça existe c'est pas moi qui vais t'expliquer comment ça fonctionne
    Arf j'allais te le demander. En effet ca m'interesse.

    Je vais chercher des infos la dessus.
    (sauf si quelqu'un ici connais bien cette methode ^^).

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Pour les taches cron il existe plusieurs solutions. Et elles sont souvent traitées sur le forum et dans les cours (surtout ceux de mathieu).

    Il existe la solution webcron.

    une petite recherche sur le forum aidera à trouver ton bonheur

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 882
    Points : 691
    Points
    691
    Par défaut
    en general les batch sont effectuées la nuit , par des taches cron ou autre

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Et aussi, veiller à optimiser la mise à jour. Comment fais-tu? INSERT/UPDATE dans une boucle ou LOAD DATA INFILE ?

  7. #7
    Membre éclairé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Points : 878
    Points
    878
    Par défaut
    Je fait une test pour chaque donné pour voir si le produit est présent ou pas. Si il est présent je fait update sinon insert.

    Comment fait-on une tache Cron?

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/04/2010, 02h48
  2. Meilleur methode pour repartir les composants d'une fenetre
    Par miss_java dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 15/04/2008, 12h10
  3. le meilleur SGBD pour une application simple
    Par nousss77 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 23/09/2005, 07h45
  4. Meilleur langage pour une erlation bdd
    Par Captain_JS dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 15/03/2005, 13h44
  5. [Conception] Meilleures solutions pour gérer le multilangage
    Par scorpiwolf dans le forum Général Java
    Réponses: 3
    Dernier message: 06/07/2004, 16h11

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