| CG ( @ 2006-04-24 11:50:00 |
| Entry tags: | development |
Idea.
По стопам поста Xekc-а, так внезапно появившегося в ленте... ;)
Итак, есть система. Которая цэ-мэ-эс, и, вроде бы, должна управлять контентом на сайте.
Про управление и подход читаем в вышеупомянутом же посте.
Аналогия с самолетом (
xekc, ну молодца) более чем уместна.
В далекие шестидесятые еще считалось нормальным самому лезть под капот биплана и ключом подтягивать гайки цилиндров. Сейчас это будет выглядеть по меньшей мере странным.
Что же нужно? Нужно решение, которое позволит отслеживать и контролировать состояние системы на произвольном уровне абстракции.
Ключевая мысль здесь - любой уровень абстракции. Кому-то нужно контролировать, чтобы вовремя уходили бэкапы, а кому-то нужно доход с сайта контролировать. Однако контроль предполагает наличие модели решения для той или иной рутинной задачи. Привод у штурвала.
Вернемся пока на землю.
Примерно подобное я вижу каждое утро, когда логинюсь в систему:
Удобно, да? Это все ключевые точки, состояние которых мне так или иначе важно.
Необходимая оговорка: все скрины сняты на тестовом локальном полигоне. Это полная кодовая копия основной системы, исключая контент. Контент я затрагивать не могу, т.к. связан корпоративными правилами.
Продолжим. Что мы видим на экране? Это - результат исполнения мною же заданных правил проверки, сюрприз! - написанных на том же скриптовом языке, что и сама система. The Matrix has...
xekc, тебе будет интересно узнать, что название FlightContol взято в честь тебя.
Вот, к примеру, ситуации когда всё херово проблемно и совсем херово.
(планировщик упал; хацкеры похацкали)

Немного юзабилити: те задачи, на которые я должен обратить внимание, "всплывают" к началу (на реальной системе у меня сейчас 36 таких вот ticker-ов, удобно не крутить экран вниз), отчет обновляется каждые 5 минут, и я могу пить кофе, видя, что на мониторе "всё зеленое". И еще пара наворотов.
Однако, это только отчет.
Сюрприз! если отрабатывают проверки, почему не отрабатывают изменения?..
К примеру, ticker, проверяющий состояние планировщика (по условиям задачи он не использует базу, а, значит, подвержен file write race bug), способен самостоятельно восстановить его из closetimed-бэкапа.
Совершенно никто не мешает использовать более высокоуровневые методы, типа "добавить денег на АдСенс".
Однако, это не глобальный AI, а совершенно конкретный алгоритм, отрабатывающий на совершенно конкретной системе. Занимащий не более страницы кода. Я волен крутить его в разных местах, реализовывать статистический анализ (к примеру, тикер по состоянию базы продуктов вычисляет мне динамику изменения, etc) и кодить там что душе угодно.
Очень удобная штука, без дураков.
Т.к. построение данных работает отдельно от пользователя (об этом я еще напишу), я получаю оперативный email, если один из показателей ушел в error.
Еще более смотреть этот отчет с мобилы.
Есть идея сделать всё еще круче...но это уже совсем другая история.
// В РФ авторским правом охраняются только реализации, не идеи. Посему идею можете спокойно тырить куда душе угодно, помня о том, что подобная реализация все-таки моя.