Проблема при добавлении новых полей в очень объемные компоненты NetCat

Если у вас сайт на NetCat и если у вас есть компонент, в котором находится очень много объектов (например, 400 тысяч) и если вдруг вы решили добавить в компонент новое поле, вы скорее всего столкнетесь с проблемой. На VPS она проявляется в виде 504 ошибки (вместо сообщения об успешном добавлении поля), а на виртуальном хостинге наверное все просто ляжет...

Дело в том, что Netcat видимо что-то там пишет во все объекты при создании поля, не знаю, что именно, интересующиеся могут проанализировать 675-701 строчки файла \netcat\admin\field\function.inc.php Этот процесс занимает время. Много времени, с учетом размера нашей базы. Очень много времени даже на VPS. update я стал умнее и сообщаю: это не NetCat пишет. Это просто добавляется новое поле в большую таблицу MySQL, что приводит к ее физической перезаписи, в это время в основном работает диск.

При этом сервер создает экземпляр процесса httpd, который занимается обслуживанием наших запросов. Поэтому у того, кто создает поле, вылетает 504 ошибка и на странице создания поля, и на всех остальных страницах сайта. А у остальных людей сайт в это время работает, но выдает сообщение "Ошибка в функции вывода объектов" во всех своих частях, где вызывается этот компонент или любой из его шаблонов.

Любопытно, что наш зависший процесс httpd очевидно в это время ждет ответа от MySQL, который продолжает выполняться, несмотря на 504 ошибку. Таким образом, если просто не закрывать окно браузера и не дергать сайт, все сработает (время ожидания около 5 минут на 4800 МГц. процессоре).

Итак, чтобы создать новое поле в компоненте с 400 тыс. объектов, надо сделать это, и не закрывать браузер, несмотря на 504 ошибку. В соседней вкладке открыть сам сайт (будет 504), и через 4-5 минут она должна заработать сама, без перезагрузки сервера. Что делать владельцам подобных баз, разместивших их на виртуальном хостинге, даже не знаю... Возможно, что ничего - может виртуальные хостинги умеют автоматически масштабироваться и обрабатывать такие кратковременные нагрузки с удвоенным рвением...

Что характерно, сервер (под управлением CentOS 6) умеет отличать браузеры. То есть при работе с сайтом с одного компьютера, но из двух разных браузеров, каждый из них будет обслуживаться отдельным экземпляром процесса httpd. Поэтому в одном браузере будет 504 ошибка, а в соседнем - работающий сайт. Для меня это стало откровением.

Блог

WebSocket: интеграция с NetCat

Хотите добавить на сайт под управлением CMS NetCat поддержку технологии WebSocket? Обращайтесь к нам! Посетители сайта смогут получать мгновенные уведомления о событиях сайта без обращений к серверу и перезагрузок страниц. Превратите свой сайт в интерактивную площадку, работающую в реальном времени!

далее

Поломка админки NetCat 4.7 в Google Chrome и Opera

В современных версиях Google Chrome и Opera, вышедших в прошлом месяце, админка CMS NetCat 4.7 и младше вдруг сломалась. Поломка проявляется в том, что в правой части админки перестала показываться нижняя панель редактирования (там, где кнопки Добавить и прочие), а скролл-прокрутка не осуществляется до конца. Работать с сайтом и добавлять новые материалы не представляется возможным.

далее

NetCat: техническая поддержка и доработка сайтов

Мы работаем с CMS NetCat уже больше 10 лет. У нас большой опыт и ответственный подход к делу.

далее

Права Доступа в Компонентах: работают не так, как ожидается; но можно накостылить патч

Если в настройках Раздела или Инфоблока NetCat попробовать дать доступ на изменение объекта ВСЕМ, ничего не получится. Просмотр и Добавление работают одним образом, а Изменение, Включение и Удаление -- другим.

далее

Весь блог тут