Ошибка DataBaseLock с Django, Xapian и Haystack
Я индексирую модель с помощью xapian/haystack. Когда я тестирую его на моей локальной машине, все работает просто отлично, но когда я пытаюсь сохранить модель на сервере, Xapian выдает ошибку DatabaseLockError
Exception Type: DatabaseLockError
Exception Location: /opt/python2.6/lib/python2.6/site-packages/xapian.py in __init__, line 2886
2886: _xapian.WritableDatabase_swiginit(self,_xapian.new_WritableDatabase(*args))
Я прочитал кое-что на официальном сайте стога сена django об очереди. Это путь, и если да, то как мне это реализовать?
1 ответ
Решение
Кажется, не существует "мгновенного" решения этой проблемы одновременной записи xapian. Поэтому я буду запускать cronjob по индексированию все 24 часа и извлекать новые вещи с помощью SQL-запроса, где я получаю только набор данных, где updated_on >= now - 24h, и объединяю их с результатами xapian.