I have the following handler that is called via cron. It is set to run
for 8mins...
def get(self):
logging.info("Deleting items...")
#set end time (8mins from now)
end = datetime.datetime.now() + datetime.timedelta(minutes=8)
now = datetime.datetime.now()
delete_fetch_size = 30
cursor = False
proceed = True
counter = 0
#start loop
while now < end:
#get items
if proceed:
query = Item.all(keys_only=True)
query.filter('status', 'FOR DELETION')
if cursor:
query.with_cursor(cursor)
try:
results = query.fetch(delete_fetch_size)
except:
logging.error('Failed to fetch.')
break
if results:
try:
db.delete(results)
proceed = True
cursor = False
if len(results) == delete_fetch_size:
cursor = query.cursor()
counter += len(results)
except:
logging.error('Failed to delete.')
proceed = False
else:
break
else:
try:
db.delete(results)
proceed = True
except:
logging.error('Failed to delete again.')
proceed = False
#no more results?
if not cursor:
logging.info('Deleted ' + str(counter) + ' Items')
break
now = datetime.datetime.now()
It spewed out the following error...
01-31 03:47PM 49.990 Traceback (most recent call last):
E 01-31 03:47PM 49.990 File "/base/python_runtime/python_lib/versions/
1/google/appengine/api/app_logging.py", line 70, in emit
E 01-31 03:47PM 49.990 message = self._AppLogsMessage(record)
E 01-31 03:47PM 49.990 File "/base/python_runtime/python_lib/versions/
1/google/appengine/api/app_logging.py", line 83, in _AppLogsMessage
E 01-31 03:47PM 49.991 message = self.format(record).replace("\n",
NEWLINE_REPLACEMENT)
E 01-31 03:47PM 49.991 File "/base/python_runtime/python_dist/lib/
python2.5/logging/__init__.py", line 630, in format
E 01-31 03:47PM 49.991 return fmt.format(record)
E 01-31 03:47PM 49.991 File "/base/python_runtime/python_dist/lib/
python2.5/logging/__init__.py", line 426, in format
E 01-31 03:47PM 49.991 record.exc_text =
self.formatException(record.exc_info)
E 01-31 03:47PM 49.991 File "/base/python_runtime/python_dist/lib/
python2.5/logging/__init__.py", line 398, in formatException
E 01-31 03:47PM 49.991 traceback.print_exception(ei[0], ei[1], ei[2],
None, sio)
E 01-31 03:47PM 49.991 File "/base/python_runtime/python_dist/lib/
python2.5/traceback.py", line 125, in print_exception
E 01-31 03:47PM 49.991 print_tb(tb, limit, file)
E 01-31 03:47PM 49.991 File "/base/python_runtime/python_dist/lib/
python2.5/traceback.py", line 69, in print_tb
E 01-31 03:47PM 49.991 line = linecache.getline(filename, lineno,
f.f_globals)
E 01-31 03:47PM 49.991 File "/base/python_runtime/python_dist/lib/
python2.5/linecache.py", line 14, in getline
E 01-31 03:47PM 49.991 lines = getlines(filename, module_globals)
E 01-31 03:47PM 49.991 File "/base/python_runtime/python_dist/lib/
python2.5/linecache.py", line 40, in getlines
E 01-31 03:47PM 49.991 return updatecache(filename, module_globals)
E 01-31 03:47PM 49.991 File "/base/python_runtime/python_dist/lib/
python2.5/linecache.py", line 129, in updatecache
E 01-31 03:47PM 49.991 lines = fp.readlines()
E 01-31 03:47PM 49.991 MemoryError
E 01-31 03:47PM 49.560 Recorder.save() failed Traceback (most recent
call last): File "/base/python_runtime/python_lib/versions/1/google/
appengine/ext/appstats/recording.p
C 01-31 03:47PM 50.006 Exceeded soft memory limit with 299.988 MB
after servicing 10 requests total
Any ideas what happened here? What does "Exceeded soft memory limit"
mean?
Thanks
--
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.