ура всем.Я использую Ubuntu 10.04 и последнюю версию Google AppEngine SDK.Я работаю над простым сайтом, на котором есть посты и комментарии к постам.Я в основном реализовал простое дерево для хранения моих комментариев со значениями parent_comment
, left
и right
.
Я создал событие, которое запускается до того, как новый (not is_saved()
) комментарий будет put()
в хранилище данных Google, которое вычисляет значения left
и right
для нового комментария, а также обновляет старые комментарии для действительной иерархии.Я в основном следовал Управление иерархическими данными в MySQL и реализовал его в Python.
Кажется, все работает нормально, добавляются новые комментарии, потоки выглядят хорошо, но ...
циклкоторый отправляет 40 комментариев во время запуска, но когда я увеличиваю этот цикл до 80 или более, у меня остается IOError:
IOError: [Errno 24] Too many open files: '/tmp/tmp0agXqU'
Мой код для генерации 60 комментариев выглядит следующим образом:
for k in range(0, 4):
comments = {0: None}
for i in range(1, 21):
j = random.randrange(0, len(comments))
pc = comments[j]
comments[i] = Comment(
name=lipsum(count=1),
email=lipsum(count=1, make_slug=True) + '@email.com',
url='http://' + lipsum(count=2, make_slug=True) + '.com',
content=lipsum(count=random.randrange(10, 50)),
object_link=p.key(),
parent_comment=pc
)
comments[i].put()
Функция lipsum
просто возвращает фрагмент текста lorem ipsum.
Есть идеи, как решить эту проблему?Спасибо!