var/замки всегда пусты
Я действительно вижу папку var/locks в своей установке Magento. Но он всегда пуст - даже во время работы индексатора.
Я предполагаю, что это вызовет проблему, если индексатор сработает более одного раза, правильно ли это?
Но я не могу понять, почему он всегда остается пустым.
- значение параметра var/locks равно 777 [drwxrwxrwx]
- var/блокировки будут принадлежать одному и тому же пользователю var/журналов (и это работает)
- все индексы завершены успешно
- Ничего связанного в файлах журналов
- Версия Magento 1.9.2.0
Я ценю любой намек и дополнительную информацию. Спасибо.
Редактировать: Если я собираюсь перезаписать модуль индексатора одним из версий 1.8, он работает так, как и ожидалось - будет использоваться папка var/locks. Итак, похоже, что Magento изменил способ использования var/блокировок? Кто-нибудь знает об этом больше?
Спасибо!
1 answers
Механизм блокировки действительно изменился и, похоже, теперь находится в бд по умолчанию.
В версии 1.8 это выглядело так: https://github.com/bragento/magento-core/blob/1.8/app/code/core/Mage/Index/Model/Process.php#L454
В 1.9 механизм блокировки был изменен и обработан собственной моделью: https://github.com/bragento/magento-core/blob/1.9/app/code/core/Mage/Index/Model/Process.php#L458
Все еще кажется возможным установить для данных use_file_lock значение верно, но поскольку здесь это не сделано, я предполагаю, что теперь по умолчанию используется db.
Https://github.com/bragento/magento-core/blob/1.9/app/code/core/Mage/Index/Model/Lock.php#L128
Если посмотреть на модель блокировки, то по умолчанию также используется блокировка бд.