Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > CakePHP
CakePHP Forum d'entraide sur le framework PHP CakePHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/11/2011, 11h21   #1
Candidat au titre de Membre du Club
 
Ingénieur développement logiciels
Inscription : juillet 2011
Messages : 1
Détails du profil
Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : juillet 2011
Messages : 1
Points : 11
Points : 11
Par défaut Chargement des Models trop long

Bonjour,

Après plusieurs recherches non concluantes sur internet, je me permets de poser ma question sur ce forum.

J'utilise depuis peu le framework CakePHP.

Au départ, j'étais partis sur un controlleur parent pour toutes mes actions, et je chargeais tous mes models avec $uses = array('Model1', 'Model2', ...).

Le problème est qu'après l'import de données dans ma base (plusieurs milliers de lignes), je tombe sur l'erreur "Maximum execution time of 30 seconds exceeded".

J'ai alors testé d'autres méthodes, comme utiliser LoadModel ou ClassRegistry::init, dans le beforeFilter, mais rien n'y fait je tombe toujours en timout.

Le Model que j'essaie de charger est une personne ayant plusieurs données réparties sur plusieurs tables (données1, données2, données2.1, ...), et j'ai l'impression qu'il essaye de charger toutes les données de la grappe pour les mettre en cache ou autre ?

Pourriez-vous m'aider à résoudre ce problème svp ?

Si vous avez besoin d'informations complémentaires n'hésitez pas

Merci d'avance
champiatomik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2011, 14h30   #2
Membre éclairé
 
Avatar de firehist
 
Homme Benjamin Longearet
Intégrateur Web Freelance
Inscription : février 2008
Messages : 153
Détails du profil
Informations personnelles :
Nom : Homme Benjamin Longearet
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Intégrateur Web Freelance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2008
Messages : 153
Points : 357
Points : 357
Envoyer un message via Skype™ à firehist
Salut,

Est-ce que tu pourrais copier/coller quelques parties de ton code pour qu'on essaye de résoudre ton problème!

Ton var $uses = Array(...);
Ton appel aux données $this->Model->find/findBy/etc ...

Sinon à première vue, pour réduire le temps d'exécution, il faut peut-être passer la récursivité à 0 ou 1?

Code :
$this->Model->find('first', array('conditions' => ..., ..., ..., 'recursive' => 0));
Mais partage des chtiot bout de code sinon on ne va pas servir à grand chose!

Bon dév'
__________________
Ingénieur Web Freelance - Firehist Studio
Profil Viadeo Benjamin Longearet
Geekos.fr : Blog technique sur les technologies du Web
---
Citation:
De l'innovation nait la solution et inversement
firehist est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h29.


 
 
 
 
Partenaires

Hébergement Web