Je crée environ 150 nœuds par programme et je rencontre des erreurs 'out of memory' lorsque je fais tout cela en une seule requête. (J'ai un rappel de menu qui génère les noeuds et appelle node_save() sur eux.)comment éviter les erreurs 'out of memory' lors de la génération par programme de nombreux noeuds dans drupal?
Exemple:
for($i=0; $i<150; $i++) {
$node = new stdClass();
$node->title="Foo $i";
$node->field_myfield[0]['value'] = "Bar $i";
...
node_save($node);
}
Je l'ai entendu parler de BatchAPI, mais jamais utilisé. Est-ce le bon outil pour contourner cela? Les docs parlent des délais, mais pas des problèmes de mémoire. Y at-il quelque chose de plus simple que je pourrais manquer?
utilisez-vous node_load() pour obtenir des informations sur d'autres nœuds? – gapple
Non, pour l'instant, ils sont entièrement construits à partir de zéro. Je vais ajouter un peu d'exemple de code ci-dessus. – sprugman
Cela ne devrait pas être trop un problème. Quelle est la quantité de RAM de votre appareil électronique? – Rimian