YiiFramework Опасность в архитектуре yii Active Record

Redjik

Джедай-мастер
Со слейва на мастер не происходило переключение в AR на RPC сервере.
На дев - слейв и мастер одна база, на продакшн - разные.

Куда бы воткнул варДамп?
 

fixxxer

К.О.
Партнер клуба
== "Нихрена не работает, куда бы ты воткнул вардамп?".

Локальные вещи надо тестировать локально, а не писать 100500 строк связанного кода в разных классах и потом удивляться.
Про юнит тесты вообще молчу )
 

Redjik

Джедай-мастер
MiksIr
fixxxer
Я рад что в вашем мире дебаг занимает пару часов максимум.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
fixxxer, ты понимаешь, я очень сдерживаюсь, чтоб не взяться отдебажить все сам :)
Но тогда я буду плохим менеджером, а ребята не будут чувствовать свою ответственность.

Насчет "Локальные вещи надо тестировать локально" один вопрос занимает меня уже который день:
Как локально создать dev-окружение с постоянным лагом репликации на пару часов?
Часть ошибок локально не воспроизводятся, они появляются только на production с лагом.
 

fixxxer

К.О.
Партнер клуба
sleep(7200) :D

ну вообще в зависимости от того, как тестировать
1) добавить для теста в выборки со слейва условие по where updated
2) временно остановить репликацию =)
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Кстати, насчет "я правда не понимаю чего там 2 дня" - Ваня немного драматизирует, там штук 10 багов было.
У нас распределенная система, в оформлении заказа магазина участвует 5 серверов.

Залили сайт на сервер мастерхоста, а там периодически зависают процессы.
Просто зависают на пол-часа, и все.
u368600 58651 0,0 0,9 937384 38564 ?? I 6:44PM 0:00,55 [busy] shop.oppo.ru::/index.php (httpd)
Когда накапливается 30 зависших процессов - сайт лежит полностью. Но иногда зависают, а иногда - нет.
Саппорт сказал "да, вижу, проблема на нашей стороне, сообщу админу" - и никакого фидека.
Потом на пол-дня пропали зависания, мы отдебажили штук 5 багов, а потом опять появились.
strace недоступен, саппорт молчит, тренируем телепатию
 

fixxxer

К.О.
Партнер клуба
Ммм. Раньше, помнится, мастерхост ставил дедики с точно такой же конфигурацией, как на шаредах (ну, кроме кэш-фронта - тогда там вообще oops-cache был =)), с управлением из той же панельки. Хз, как сейчас.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
верная мысль, можно и dedicated взять поиграться воспроизвести
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Очевидность - это интуитивное решение проблемы на основе приобретенного опыта. Детям, например, не очевидно, что засунув палец в розетку можно получить проблемы.
Я не знаю откуда тут мысли, что Yii "очевидный" фреймворк. Там куча нелогичностей, куча совершенно непрозрачной логики. Ну ее нужно внимательно изучать, по исходникам, конечно.
Какой Yii я и сам отлично знаю. Ты предложи что-нибудь :)
С учетом того, что с этим будет работать человек так 20 разной квалификации, на чем бы ты построил систему?
 

MiksIr

miksir@home:~$
Если один большой проект - то строить под себя, наверно. У меня вот студия - я в принципе не могу свое ядро делать - заказчики не разберутся. Прошу разработчиков внимательно изучить фреймворк не с точки зрения документации, а с точки зрения кода - как минимум жизненный цикл запроса и жизненный цикл работы с актив рекордс. Ну а дальше... в общем от попадалова никто не застрахован, я как-то спокойно к этому отношусь.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Строить под себя значит тратить много времени на его построение, на обучение новых сотрудников, и на исправление всех тех ошибок, которые я сам сделаю.
Мир намного сложнее, чем качество кода. Бизнес не мог ждать год пока я напишу платформу с нуля.
Сначала надо было выкатить прототип, потом рабочее демо, потом - запуститься, и только когда система работает и приносит деньги, можно заняться искусством.
 

MiksIr

miksir@home:~$
Ну я так и говорю, да. Не писать с нуля. А брать что-то за основу и менять по ходу развития продукта. Не думаю, что больше пары недель хорошему программисту уйдет, что бы освоить даже новый фреймворк. Ну месяц.
 

MiksIr

miksir@home:~$

grigori

( ͡° ͜ʖ ͡°)
Команда форума
MiksIr по личному опыту для серьезного освоения надо 2-3 месяца.
Чтобы просто переключиться - 2 недели: знания API есть, следуешь ему, все делаешь правильно, и вот именно тут вылазит сегфолт и прочие баги Qiang-а, на которые он кладет :)
 
Сверху