Linux3.0.0-17-generic #30-Ubuntu SMP Thu Mar 8 20:45:39 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Python 2.7.2+ (default, Oct 4 2011, 20:06:09) [GCC 4.6.1] on linux2 I used gae tasks as alternative to loops so i create task for each file import. I don't know if it will cause the same result on gae but on local env memory after task execution was not released for web2py server process. def csv_import(): imp = db[request.vars.table].import_from_csv_file file = open(request.vars.filename, 'r') imp(file) db._timings = [] file.close() return True def tasks(): path = os.path.join(os.path.join(request.folder,'uploads', request.vars.table)) from google.appengine.api import taskqueue files = os.listdir(path) for file in files: taskqueue.add(url = URL(r=request, c='import',f='csv_import', vars = {'table': request.vars.table, 'filename': os.path.join(path, file)}), method='GET') return "Tasks added" W dniu poniedziałek, 9 kwietnia 2012 14:26:36 UTC+2 użytkownik Massimo Di Pierro napisał: > > What os? what python version? > > On Sunday, 8 April 2012 16:08:00 UTC-5, Czeski wrote: >> >> Hi, >> >> I am new web2py user and I have some performance problems with >> import_from_csv_file method. First of all i have big collection of data >> that i want to upload to Google App Engine. I splited data into 1000 parts, >> each contains csv serialized rows - about 1367 rows per file. I am doing >> loop to import each file to database using: >> >> def csv_import(): >> >> for i in xrange(0, 1000): >> file = open(os.path.join(request.folder,'private', 'geonames', >> 'chunk_' + str(i)), 'r') >> db.geonames.import_from_csv_file(file) >> db._timings = [] >> file.close() >> >> As You can see it is rather simple method to achieve this. But the main >> problem is that every loop iteration is increasing the overall memory usage >> for application. It is never stoped and in 10 iteration it used all system >> resources and app is terminated. >> >> I think that with every iteration some objects related with DAL still >> stay in memory and are not collected by gc. >> >> Please advise so I could import all 1000 parts with constant memory usage. >> >> Best Regards >> Lucas >> >