igor (ico) wrote,
igor
ico

Очччень знакомо!!!

Сегодня весь вечер ковырялся в красивом извращении, которое писали, вероятно, лебедь, рак и щука. Покупной софт, который разрабатывал очень маленькиой, но очень продвинутый коллектив.

Работет оно так: пользователь создает операцию через веб-интерфейс, который на PHP создает операцию и кладет ее в очередь в Postgres. В постгресе сидит куча триггеров, один из которых при добавлении записи в таблицу очереди делает первичную обработку и передает NOTIFY отдельному LISTEN-демону, написанному на C. Тот в свою очередь форкает новый процесс, выбирает нужные записи из базы, генерирует по шаблону запрос и передает его внешнему серверу по сетевому транспорту, написанному на Питоне. Ответы от сервера получаются асинхронно и здесь не обошлось без Perl-ового скрипта, запускаемого через cron. Конечно же, еще несколько сервисных скриптов на sh. Кажется, ничего не упустил.

Если что-то ломается, то становится тяжело. Есть немного документации, есть исходники. Но понятно, что с самолучшей IDE здесь делать нечего, а остается только долгий нудный grep & vim. К чести разработчиков, за 5 лет что-то серьезно сломалось только сейчас, впервые. И когда проблема починилась, кроме новых знаний и опыта даже удалось получить некоторое эстетическое удовольствие от конструкции.


fr. http://sply.livejournal.com/376069.html
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments