2010-11-27 1 views
1

Je n'avais pas réussi à utiliser l'option bulkloader fournie officiellement, j'ai donc écrit mon propre script de bulkloader (en fait, un gestionnaire de publication chargeant incrémentalement des entités de csv dans le magasin de données) .Erreur du serveur (Google Apps Engine) lors de l'exécution du bulkloader personnalisé

La solution a fonctionné comme suit:
1. Je copier des données à partir d'un fichier csv
2. Collez-le dans une zone de texte sous une forme sur l'application
3. Afficher le formulaire
4. le gestionnaire analyse le texte entrant pour les en-têtes (noms de colonne)
5. stocke le reste des lignes dans la liste
6. extrait de manière incrémentielle 100 lignes de la liste et crée et stocke pour chaque ligne une entité (le type d'entité est résolu à partir du type spécifié à partir d'un champ de sélection du formulaire)

Maintenant, cette technique fonctionnerait sur mon serveur dev pour les petites entrées jusqu'à 1000 lignes, au-delà, il montrerait l'erreur suivante:

Traceback (most recent call last):
File "/host/_Hive/Lab/ACTIVE WORKS/UG VOTES/google_appengine/google/appengine/ext/webapp/init.py", line 513, in call
File "/host/_Hive/Lab/ACTIVE WORKS/UG VOTES/google_appengine/myApps/ugvotes/ugvotes.py", line 241, in post
File "/host/_Hive/Lab/ACTIVE WORKS/UG VOTES/google_appengine/google/appengine/ext/db/init.py", line 893, in put
File "/host/_Hive/Lab/ACTIVE WORKS/UG VOTES/google_appengine/google/appengine/api/datastore.py", line 291, in Put
File "/host/_Hive/Lab/ACTIVE WORKS/UG VOTES/google_appengine/google/appengine/api/datastore.py", line 195, in _MakeSyncCall
File "/host/_Hive/Lab/ACTIVE WORKS/UG VOTES/google_appengine/google/appengine/api/apiproxy_stub_map.py", line 499, in check_success
File "/host/_Hive/Lab/ACTIVE WORKS/UG VOTES/google_appengine/google/appengine/api/apiproxy_rpc.py", line 149, in _WaitImpl
File "/host/_Hive/Lab/ACTIVE WORKS/UG VOTES/google_appengine/google/appengine/api/datastore_file_stub.py", line 863, in MakeSyncCall
File "/host/_Hive/Lab/ACTIVE WORKS/UG VOTES/google_appengine/google/appengine/api/apiproxy_stub.py", line 80, in MakeSyncCall
File "/host/_Hive/Lab/ACTIVE WORKS/UG VOTES/google_appengine/google/appengine/api/datastore_file_stub.py", line 933, in _Dynamic_Put
File "/host/_Hive/Lab/ACTIVE WORKS/UG VOTES/google_appengine/google/appengine/api/datastore_file_stub.py", line 806, in __WriteDatastore
File "/host/_Hive/Lab/ACTIVE WORKS/UG VOTES/google_appengine/google/appengine/api/datastore_file_stub.py", line 836, in __WritePickled
IOError: [Errno 24] Too many open files: '/tmp/tmpOfgvm3'

Au début, je pensais que c'était une erreur en raison des limitations de le serveur de développement, mais quand je l'ai essayé de faire la même tâche à partir du serveur de production , j'ai obtenu l'erreur suivante:

Error: Server Error The server encountered an error and could not complete your request.

If the problem persists, please report your problem and mention this error message and the query that caused it.

Qui sait ce qui aurait pu mal, et ce que je peux faire à ce sujet?

merci.

+0

Que disent vos journaux? La page d'erreur signifie simplement que votre application lance une exception non interceptée; vérifiez les journaux dans la console d'administration pour voir de quoi il s'agit. –

+0

Oh merci, en vérifiant les journaux ont aidé. il était dû à l'expiration – nemesisfixx

Répondre

Questions connexes