Продолжение истории с java...script
Может кому-то покажется неочевидным, но я в течение всего периода работы в вышеупомянутой компании (да и сейчас, кстати, тоже) пытался понять: почему все-таки была сделана пауза после произнесенного "Javа"? И почему все же добавлено "...script" после паузы, если проекты были именно на Java? А проект был не один. Новый сайт провайдера тоже был начат на Java, а именно по технологии JSP (Java Server Pages); его мне тоже передали.
В один из дней "босс" (так называли того самого главного директора в компании) пришел ко мне и говорит: "Добавь новый сертификат на тестовый сайт". Я думаю это была одна из проверок того насколько я разобрался с этим проектом. Сертификат, то есть по сути картинка в pdf, в блок на сайте я добавил, это ведь было простое копирование элемента в шаблоне и дополнительно загрузка файла по scp на сервер. Основная сложность была только в том, что я еще не деплоил ни разу сайт, но в этом мне по скайпу помог прежний программист. Отсюда я делал вывод, что раз он проверяет мою способность менять что-либо на тестовом сайте, значит до сих пор думает что я умею в Java. Вот только позднее выяснилось (и "босс" об этом, конечно не сказал), что новый сайт теперь делает другой программист на аутсорсе. Должно быть делал его на удаленке, в офис он по крайней мере никогда не приходил. Забавно, что новая версия была сделана на PHP (а если быть точнее CRM битрикс).
Второй Java-проект (тот который я переписал на PHP) был призван выводить операторам номера должников. Основная его фича заключалась в том, чтобы показывать каждому оператору свой набор абонентов. Соответственно будет ошибкой показывать двум операторам одного клиента. Ну, и тех клиентов, с которыми состоялся разговор тоже не следует отображать. Оператор видел список, звонил по порядку и проставлял статусы. С этим и происходила беда, иногда операторам выпадали номера, по которым уже звонили недавно. Причем могли выпасть другому оператору в тот же день. Эта проблему, как я понял на тот момент, заключалась как раз в сервере tomcat6, а именно был какой-то баг с потоками.
Код проекта архивировался, этот архив скармливался томкету, он его компилировал и запускал. То что он делал внутри себя с запросами я выяснить был не в состоянии. Поэтому сначала была попытка обновить tomcat до седьмой версии.
После обновления наступило "затишье", операторы перестали жаловаться. Точнее раньше приходил их старший менеджер и сообщал о проблеме (но что именно не так и какие действия совершались она сама не могла поведать). Но как оказалось это было случайностью. Или может просто рестарт приложения "чинил" временно проблему, а рестарт после обновления тоже происходил, что логично. Только не мог же я рестартовать приложение как магическое решение. Да и не факт, что это железно могло помочь.
Как-то в очередной раз пришла старшая оператор и прямо-таки психнула. По сути она опять ничего мне толком не сказала, но когда я сказал что быстро починить не удастся, то пообещала, что так мне это с рук не сойдет. До нее был другой менеджер, который тоже приходил с проблемами, но так как от меня толку не было, то через неделю он уволился. По крайней мере вижу свою вину в этом, потому что кого-кого, а менеджеров "босс" прессовал за любую мелочь. То есть раз я не мог помочь ему, он не мог решить проблему, и под давлением "босса" пришлось уволиться.
После того как проект был переписан произошла какая-то дичь. Проблемы с потоками и выводом повторных абонентов по идее не должно быть. И все же меня вызвали "на ковер" к "боссу", и там уже была эта "мадам". Она указала перстом на меня и говорит "его спрашивайте". А "босс" такой - "так это ты во всем виноват?". Максимально непонятно что у них там происходило до того как я вошел, и какая проблема случилась, но естественно я подумал что где-то допустил ошибку.
Загвоздка в том, что впоследствии я ее не нашел. Для выяснения ходил в офис к девочкам-операторам, смотрел как у них всех отображается, как все работает, перепроверял код и не нашел ошибок. Неделю я все это выяснял, и за это время не изменил ни строчки кода в этом проекте. Как назло все работало и никаких багов не было. Параллельно я уже начал искать новую работу, и получается эта неделя была последней. Всего в этой компании мне довелось проработать четыре месяца.
После ухода из той компании провайдера я заходил периодически на страницу проекта, чтобы проверить не поменялось ли чего. Через три месяца обнаружил, что код обратно вернулся на Java-версию. Это было очевидно, потому что изначально сайт был по SPA-технологии, то есть после выполнения запроса обновление страницы было без перезагрузки этой самой страницы. Я же переписал на PHP по технологии SSR, только в некоторых местах был добавлен AJAX. Страница входа точно была с перезагрузкой, даже если просто выводилась ошибка входа. Кроме того, закрыли доступ или удалили аккаунт и я больше не мог входить внутрь ЛК оператора.
Как вишенка на торте выкладываю переписку (с вырезанными персональными данными) с java-программистом, когда передавался проект, чтобы можно было погрузиться в атмосферу тех событий.