Ant Road Planner

Как сделать удобную пешеходную инфраструктуру

Рубрика: Development

Проблема решена

Вычисления продолжаются, заодно была повышена их точность.

Почему-то веб-сервер, живущий на хостинге Heroku не дружит с распределенными вычислениями JPPF. Возможно Heroku как облачный сервис периодически прибивает или усыпляет веб-сервер когда тот не используется долгое время. И не позволяет держать долгоживущие соединения. В итоге результаты часовых вычислений пропадают, так как соединение рвется.

В итоге я сделал небольшое отдельное приложение, которое напрямую лазает в базу карт, берет их оттуда и считает.

Проблемы с сервером вычислений

В последнее время участилась проблема с зависанием вычислений. Особенно это касается больших карт с большим числом генераторов пешеходов. В статусе карты написано что она считается, но на самом деле ничего не происходит.

Почему-то если вычисления занимают больше определенного времени (нескольких минут) то связь вебсервера и сервера вычислений рвется и результаты никогда не возвращаются.

Я пока ищу решение проблемы. До тех пор если ваша карта долго висит и не считается — пишите мне в комментариях или на smirnov.egor.v@gmail.com, я посчитаю ее вручную у себя.

Возможные проблемы с БД

Проект исчерпал бесплатный лимит базы данных MongoLab. Сейчас я попробую сжать базу и почистить ее от наиболее бессмысленных карт. В течение какого-то времени сервис может работать с ошибками.

UPD: удалил с полсотни карт с ошибками и просто бессмысленных, на какое-то время хватит. Но надо искать нормальное решение. Наверное придется автоматически удалять карты старше недели. Ну или пожертвования собирать.

UPD #2: база очищена целиком, удалены карты которым больше недели и которые либо не посчитались, не валидны, либо слишком примитивны. Такая чистка теперь будет проводиться ежедневно.

За нормальные карты (которые успешно посчитались, при этом на них есть более 2 генераторов и более 2 прочих объектов) пока можно не бояться, они в базе останутся.

Планы на будущее

Массовое тестирование пользователями с Habrahabr и плодотворное общение с несколькими заинтересовавшимися архитекторами и планировщиками выявило ряд проблем, а также необходимых для серьезного использования проекта фич. Ниже опишу те из них, которыми буду заниматься в ближайшее время.

Читать далее

Обновление 14 мая: генераторы в один клик

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

generators

Теперь расставлять подъезды домов будет намного быстрее.

Обновление 12 мая

Небольшое обновление, добавляющее возможности по мониторингу использования сайта.

  1. Появилась страница со списком всех карт.
  2. Добавлена гугл-аналитика
  3. Исправлен баг  с неправильным отображением препятствия «дорога».

Обновление 20 апреля

Добавлена валидация карты.

Валидация состоит из двух этапов. Первый выполняется при отправке карты из редактора и проверяет только простые вещи. Например что на карте есть хотя бы два генератора пешеходов. Если это условие не выполнено — карту отправить не выйдет, а будет выдано сообщение об ошибке.

Второй этап происходит уже на сервере и нужен для окончательно фильтрации некорректных карт. Например таких, у которых не существует путей между генераторами пешеходов. Поскольку такая проверка может занимать десятки секунд — она делается уже в оффлайн режиме, а пользователь об ее результатах узнает только придя на страницу карты.

В последнее время в базе появилось много кривых карт. В ближайшее время постараюсь написать детальный пост по рисованию правильной и эффективной карты.

Обновление 18 апреля

Теперь после отправки карты можно указать свой email адрес. После завершения симуляции на него придет извещение со ссылкой на страницу результатов.

subscribe.png

Репозиторий на Bitbucket

Исходники проекта теперь открыты и доступны https://bitbucket.org/e_smirnov/antpathplanning

Там же есть багтрекер в котором можно оставлять описания ошибок.

Страница 5 из 5