Проверяемые компоненты:
• Основное веб-приложение Vitro — загрузка моделей для хранения и организации совместной работы.
• Брокер сообщений (RabbitMQ) — используется для автоматизации процессов конвертации загружаемых моделей при помощи публикации и обработки сообщений в виде упорядоченных очередей.
• Консьюмер — приложение, запускающее процессы, выполняющие конвертацию по командам в сообщениях от брокера.
• BIM-вьюер — интегрированное в веб-приложение хранилища средство просмотра 3D-моделей.
Форматы и очереди по умолчанию:
• IFC → IfcToXkt
• Navisworks (.nwd, .nwc, .nwf) → NavisToXkt
• Revit (.rvt, .rte) → RevitToXkt
• DWG → DXF → DwgToDxf
• LAS → LasToXkt.
1) Предварительные условия (без них система не будет работать).
1.1 Windows-хосты с установленным ПО Autodesk.
Цель: убедиться, что Revit/Navisworks установлены и активированы под тем пользователем, от имени которого запускается конвертация.
Примечание: данный пункт проверки актуален исключительно при наличии соответствующих настроенных очередей RevitToXkt/NavisToXkt. Если предполагается конвертация только Ifc формата и документов DWG, то следует пропустить.
Действия:
1. Проверьте, что установлены все версии Revit, Navisworks, используемые в компании.
2. Убедитесь, что создан отдельный Windows-пользователь, войдите под ним и активируйте лицензии Revit/Navisworks.
3. Удостоверьтесь, что консьюмер запускается по расписанию корректно.
Перезагрузитесь и войдите под этим пользователем.
Ожидаемый результат: Revit, Navisworks стартуют без ошибок лицензии, под нужным пользователем.
Если не так: лицензии не активированы/нет доступа к лицензии — конвертация для Revit/Navisworks зависнет/упадёт.
Диагностика/исправление: снова войдите под этим пользователем, проверьте лицензию Autodesk.
1.2 Поддержание сеанса Windows для сервисного пользователя запуска консьюмера
Цель: убедиться, что выполнены настройки поддержания сеанса пользователя Windows в активном состоянии.
ВАЖНО! Поддержание сеанса в активном состоянии требуется, поскольку процесс конвертации возможен только в рамках графического окружения рабочего.
Действия:
1. Проверьте, что параметры ограничений сессии удаленного рабочего стола в редакторе локальной групповой политики заданы в соответствии с указаниями в п.4 статьи.
2. Убедитесь, что настроен автоматический вход в систему для пользователя в соответствии с указаниями в примечании 3 в статье.
Если не так: При завершении сеанса Windows, либо при невыполненном входе в сеанс Windows (к примеру, после перезагрузки ОС) конвертация моделей выполняться не будет!
Диагностика/исправление: Выполните указания в п.4 и примечании 3 статьи.
1.3 Установка RabbitMQ
Цель: брокер поднят, управление доступно, тайм-аут консьюмера отключён.
Действия:
- Убедитесь, что установлено все перечисленное в документации по установке и настройке фермы ПО, рекомендованных версий: Erlang, RabbitMQ-Server, плагины rabbitmq_management.
- Удостоверьтесь, что в конфигурационном файле advanced.config отключен consumer_timeout:
- Зайдите в веб-интерфейс RabbitMQ: http://localhost:15672 (guest/guest), или http://<IP address>:15672 (<adminuser>/<adminpassword>), если RabbitMQ развернут на другом хосте
- Выполните если RabbitMQ развернут под ОС Windows, либо под Linux одну из команд
netstat -na | find "LISTENING"
ss -ltnp
чтобы убедиться, что необходимые службы ведут прослушивание соответствующих сетевых портовnetstat -ltnp
Ожидаемый результат: веб-панель доступна, плагины активны, тайм-аут отключён, порты прослушиваются.
Если не так: сервис RabbitMQ не запущен/порт занят.
Диагностика/исправление: services.msc → перезапустить RabbitMQ (или sudo systemctl restart rabbitmq-server.service под Linux); проверить файрвол, порты 15672,25672,5672.
1.3 Обменник и очереди в RabbitMQ
Цель: маршрутизация сообщений настроена.
Действия:
- Проверьте в панели управления RabbitMQ наличие обменника Vitro.
- Убедитесь, что созданы необходимые очереди: IfcToXkt, NavisToXkt, RevitToXkt, DwgToDxf, LasToXkt, Error.
- Удостоверьтесь, что для каждой очереди существуют привязка к обменнику Vitro с одноимённым Routing key.
Ожидаемый результат: все очереди существуют, привязки активны.
Если не так: нет привязки → сообщения «теряются»; нет очереди → консьюмер нечего слушать.
Диагностика/исправление: проверьте Bindings во вкладке Exchange и Queue.
1.4 Доступ веб-приложения к RabbitMQ / кэш вьюера
Цель: портал умеет публиковать задания, вьюер знает путь к локальному кэшу.
Действия: Проверить в списке «конфигурация» Веб-приложения Vitro что корректно заданы параметры:
- Viewer.BIM.Model.LocalStorage.Path.Root — путь к серверному кэшу (напр. /tmp/Vitro/BimViewer).
- Receiver.Converter.Rabbit.Connection — строка подключения к RabbitMQ (напр. amqp://admin:admin@127.0.0.1:5672).
Ожидаемый результат: при загрузке модели портал публикует сообщение в нужную очередь (на вкладке Queues в панели RabbitMQ можем наблюдать кратковременное изменение в счетчике в столбцах Unacked/> Total>0).
Если не так: сообщения не появляются — проверьте строку подключения/права пользователя в RabbitMQ.
2) Проверяем консьюмер
2.1 Установка и запуск
Цель: служба/задача консьюмера запускается под правильным пользователем.
Действия:
- Проверьте в панели управления Windows что установлен пакет Vitro Forge MultiPlatform. И в установочной директории C:\Program Files\Vitro Software\Vitro\Forge\MultiPlatform\Consumer существуют директории и программные файлы
- Убедитесь в наличии задачи VitroForgeTask в планировщике Windows, для которой в триггере запуска выбран пользователь, кому активированы лицензии Autodesk. Если используется сетевая лицензия — убедитесь, что задана задержка старта.




