вторник, 17 ноября 2015 г.

Адреналин напоследок

"Любой дошлый аварийщик знает, что в его распоряжении есть ещё минута, когда эти паникеры у себя там, наверху, говорят, что время истекло."
Артур Хейли, "Аэропорт"
Последние три недели на старой работе. Большой релиз, который активно готовили последние полгода. Все встали в 5 утра, работаем из дома.  Несмотря на долгое тестирование, всё же натыкаемся на некоторые проблемки; устраняем. Часам к 9 утра вроде кажется, что всё хорошо... А тут как раз срочно понадобилось подвезти Марину (сама она нашу машину водить не научилась, да и парковаться там негде). Думаю, не смыться ли на 15-20 минут.

И тут ОНА - серьезная проблема. А пользователи быстро просыпаются, трафик растет. Близится дедлайн, который мы сами себе заранее установили: если через полчаса не устраним, надо откатываться назад. А откатываться... во-первых, это тоже технически непросто. Ну и вообще - скандал, позор. Высшее руководство давно с нетерпением ждет этот релиз.

В последние минуты, "под тик секундомера", у меня получилось исправить. А если бы не отправил Марину на такси, то не успел бы. "Враг вступает в город, пленных не щадя, потому что в кузне не было гвоздя". Хоть я уже одной ногой на выходе, и вроде как всё равно, все же было б неприятно...

P.S. А подвел мой любимый IIS URL Rewrite. По умолчанию action="rewrite" добавляет к новой URL оригинальную query string. А мы забыли про это и в одном месте добавили query string вручную. Т.е. всё параметры приходят в пункт назначения в дублированном виде. Но, как правило, всё равно работает отлично - многичисленные тесты проходили . Проблема проявляется, ткогда query string очень длинная; если её ещё продублировать, она обрезается, и значение последнего параметра повреждается. Мораль: когда делаешь rewrite, обычно нужно использовать server variable {URL} (просто путь), а не {HTTP_URL} (который путь плюс query string). 

Комментариев нет:

Ratings by outbrain