V26a7
Добавлено: 26 янв 2011, 02:47
Фубля.
Все опять должно работать, как и раньше - все миссии, без глюков и прочего. Но с небольшими изменениями.
Менеджер флотов теперь по идее полностью транзакционен и блокирующ. Т.е. в принципе не должно быть проблем с флотами: ни дублирования, ни прочей фигни (если я не напутал в алгоритмах где-то). И все это работает без глобальной блокировки всех нужных таблиц (как было раньше), а с блокировками на уровне рядов. Ну и красиво завернуто в транзакции. Т.е. в случае сбоя сервера ни единая проба не потеряется.
Вдобавок написан кэшер данных в менеджере флотов. Т.е. если в одном таймслоте есть несколько одинаковых данных (например - несколько флотов одного пользователя или несколько флотов, летяющих на одну планету), то соответствующие записи будут выбираться из БД только один раз при старте менеджера и потом будут только обновлятся при изменении.
Вдобавок принципиально решена проблема с длительными отключениями сервера. Раньше если такое происходило (а у меня такого не происходило почти никогда), дублировались флоты, прилетевшие за время простоя сервера в точку назначения, а флоты, прилитевшие и вернувшиеся - утраивались. Я бы еще заметил, что флоты, которые выполнили миссию (холд и эксплоре) могли учетверятся - но этого уже не проверишь.
В общем. Нужно ОЧЕНЬ ТЩАТЕЛЬНОЕ И МАССОВОЕ ТЕСТИРОВАНИЕ. В ваших же интересах, кстати!
Все опять должно работать, как и раньше - все миссии, без глюков и прочего. Но с небольшими изменениями.
Менеджер флотов теперь по идее полностью транзакционен и блокирующ. Т.е. в принципе не должно быть проблем с флотами: ни дублирования, ни прочей фигни (если я не напутал в алгоритмах где-то). И все это работает без глобальной блокировки всех нужных таблиц (как было раньше), а с блокировками на уровне рядов. Ну и красиво завернуто в транзакции. Т.е. в случае сбоя сервера ни единая проба не потеряется.
Вдобавок написан кэшер данных в менеджере флотов. Т.е. если в одном таймслоте есть несколько одинаковых данных (например - несколько флотов одного пользователя или несколько флотов, летяющих на одну планету), то соответствующие записи будут выбираться из БД только один раз при старте менеджера и потом будут только обновлятся при изменении.
Вдобавок принципиально решена проблема с длительными отключениями сервера. Раньше если такое происходило (а у меня такого не происходило почти никогда), дублировались флоты, прилетевшие за время простоя сервера в точку назначения, а флоты, прилитевшие и вернувшиеся - утраивались. Я бы еще заметил, что флоты, которые выполнили миссию (холд и эксплоре) могли учетверятся - но этого уже не проверишь.
В общем. Нужно ОЧЕНЬ ТЩАТЕЛЬНОЕ И МАССОВОЕ ТЕСТИРОВАНИЕ. В ваших же интересах, кстати!