Перейти к содержимому

Выбор типа приложения: web, desktop, static или cli

type определяет, какие поля важны и что по умолчанию делает остановка.

web desktop static cli
Нужно command command url command
Обычно ещё port, url processName command и port, если страница сама себя раздаёт cwd
Запуск Выполняет command на вкладке терминала Выполняет command на вкладке терминала Без command: открывает url в браузере. С ней: выполняет её на вкладке терминала Выполняет command на вкладке терминала
killMode по умолчанию port processName none none

Диалог «Изменить приложение» для веб-приложения: тип web с однострочным описанием и заполненное поле port

  1. Список type. Его строка подсказки описывает, что делает этот тип.
  2. Поле port. Для приложения web состояние «работает» зависит от того, отвечает ли этот порт.

Moonpool проверяет каждые пару секунд. Приложение считается работающим, если выполняется любое из условий, независимо от типа:

  • задан processName и существует процесс с таким именем. Собственные вспомогательные процессы <exe> mcp самого Moonpool не учитываются.
  • задан port и он отвечает на localhost.
  • Moonpool запустил его, у него нет ни port, ни processName, и процесс терминала ещё жив.

Поэтому приложение cli работает, пока выполняется его команда, а приложение web без port ведёт себя так же. Запись static только с url отслеживать нечего, и она никогда не показывает «работает».

Локальный сервер. Задайте port, чтобы состояние «работает» отражало, отвечает ли сервер, а url вместе с openBrowser, чтобы открыть его, когда он поднимется.

Обычное приложение. Задайте processName равным имени исполняемого файла, чтобы состояние «работает» сохранялось, когда окно отсоединяется от команды, которая его запустила. Остановка по умолчанию завершает каждый процесс с этим именем.

Страница. При наличии только url запуск и перезапуск открывают её в браузере, а остановка ничего не делает. Открываются URL с http://, https://, mailto: и file://, поэтому подойдёт и локальная страница:

apps.json
{ "id": "csv", "name": "CSV dashboard", "group": "Docs", "type": "static",
"url": "file:///{MP_HOME}/dashboards/examples/csv/index.html" }

Страницам, которым нужен сервер (PHP или всё, что загружает локальные файлы), нужны command, запускающая его, и port для отслеживания. См. примеры.

Инструмент. command выполняется на вкладке терминала в cwd, и приложение перестаёт быть работающим, когда команда завершается. Чтобы оболочка оставалась открытой, сделайте командой саму оболочку, например такой command:

command
pwsh -NoLogo -NoProfile -NoExit -Command python run.py --flag

Не используйте вложенные двойные кавычки в command: обёртка cmd /c их искажает.

Вкладка терминала приложения cli с выводом команды PowerShell и открытым приглашением под ним

Щелчок по названию приложения только открывает его вкладку терминала. Для управления используйте элементы «Запустить», «Остановить» и «Перезапустить». См. Состояния приложения.

Moonpool: бесплатное программное обеспечение от FasterDB