forum.bitel.ru http://forum.bitel.ru/ |
|
Тормозит изменение узлов тарифного дерева http://forum.bitel.ru/viewtopic.php?f=22&t=5730 |
Страница 1 из 1 |
Автор: | Cromeshnic [ 21 июл 2011, 13:21 ] |
Заголовок сообщения: | Тормозит изменение узлов тарифного дерева |
Клиент довольно заметно подвисает при редактировании тарифного дерева. Причем когда редактирую новый персональный тариф, то все летает довольно шустро. Например, сегодня: Есть глобальный тарифный план (базовый), от которого наследуются штук 15 других глобальных тарифных планов. Завел в базовом тарифе модульную ветку, которой там раньше не было. Добавляю узлы. При каждом действии : добавление, удаление, редактирование узлов клиент подвисает секунд на 10. Порылся в коде, добавил индекс по parent_tree в module_tariff_tree - не помогло. Смотрю в innotop во время подвисания - появляются записи: Код: UPDATE module_tariff_tree SET lm=1311231645625 WHERE id=12698 Ясно, что долго выполняется TariffTreeBuilder.updateMTreeModifTime(...) ... Короче, пока писал, понял, в чем скорее всего беда: TariffTreeBuilder.updateMTreeModifTime(...) обновляет lm для всех модульных веток дочерних тарифов, а не только для переданного mid. Там присутствует dialup, на который постоянно есть нагрузка, видимо поэтому даже простые update-запросы по id проходят не сразу. Разработчики, можете пофиксить? А то совсем печально пол дня редактировать тарифы. Возможно я ошибаюсь, и проблема не в этом или не только в этом. Если так, доступ у вас должен быть. |
Автор: | Cromeshnic [ 21 июл 2011, 13:30 ] |
Заголовок сообщения: | Re: Тормозит изменение узлов тарифного дерева |
Как вариант, обновлять lm в фоне отдельным тредом. |
Автор: | Администратор [ 02 ноя 2011, 15:53 ] |
Заголовок сообщения: | Re: Тормозит изменение узлов тарифного дерева |
Делаем. |
Автор: | Администратор [ 02 ноя 2011, 18:55 ] |
Заголовок сообщения: | Re: Тормозит изменение узлов тарифного дерева |
Сделано для 5.1, обновление выложено. Теперь будет обновлять информацию в БД спустя 8 секунд после последней правки дерева. Если правки идут с интервалом менее 8 секунд - задание отложится дальше. Ну и в одном потоке всё. |
Автор: | snark [ 02 ноя 2011, 20:03 ] |
Заголовок сообщения: | Re: Тормозит изменение узлов тарифного дерева |
А нельзя сделать кнопку "Сохранить"? Чтобы изменения в дереве тарифов попадали в БД только после того как ее нажмешь, т.е. подтвердишь что дерево тарифа создано и готово к использованию, а то получается что пока правишь юзер может подключится и получить недостроенное дерево или дерево с ошибками или ... короче - чтобы можно было сказать "все, я закончил править, да будет так!" либо не нажимая кнопку отменить все сделанные изменения (передумал или еще что). |
Автор: | skyb [ 03 ноя 2011, 03:57 ] |
Заголовок сообщения: | Re: Тормозит изменение узлов тарифного дерева |
как для модуля инет в 5.2 - было бы неплохо |
Автор: | Cromeshnic [ 03 ноя 2011, 06:23 ] |
Заголовок сообщения: | Re: Тормозит изменение узлов тарифного дерева |
Администратор писал(а): Теперь будет обновлять информацию в БД спустя 8 секунд после последней правки дерева. Если правки идут с интервалом менее 8 секунд - задание отложится дальше. Ну и в одном потоке всё. О, круто, спасибо. "Информация в БД" - это только lm или все вообще? Сами узлы сразу создаются? |
Автор: | Администратор [ 29 дек 2011, 13:01 ] |
Заголовок сообщения: | Re: Тормозит изменение узлов тарифного дерева |
Только lm. Вообще, для новых модулей там система с событиями. Постепенно переведём на неё. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |