51 lines
1.6 KiB
Markdown
51 lines
1.6 KiB
Markdown
# Processes And Services
|
||
|
||
## Точка входа
|
||
|
||
`cmd/app/main.go` -> `bootstrap.RunApp()`
|
||
|
||
## Что запускает `RunApp`
|
||
|
||
1. загрузку `.env`;
|
||
2. startup guard (в prod);
|
||
3. загрузку локалей;
|
||
4. подключение к PostgreSQL;
|
||
5. миграции;
|
||
6. запуск API-сервера;
|
||
7. запуск VK-бота;
|
||
8. автозапуск внутренних сервисов (опционально).
|
||
|
||
## Основные процессы
|
||
|
||
1. `api`
|
||
Основной HTTP API приложения.
|
||
2. `bot`
|
||
Longpoll/командный runtime VK-бота.
|
||
3. `whois-service`
|
||
Отдельный HTTP-сервис whois/rdap.
|
||
4. `addons-v8-service`
|
||
Сервис изолированного исполнения аддонов (V8 runtime).
|
||
|
||
## Автостарт дополнительных сервисов
|
||
|
||
Переменные:
|
||
|
||
1. `AUTOSTART_WHOIS_SERVICE` (по умолчанию `true`);
|
||
2. `AUTOSTART_ADDONS_V8_SERVICE` (по умолчанию `true`).
|
||
|
||
## Связанные cmd-пакеты
|
||
|
||
1. `cmd/api` — отдельный запуск API (если нужен отдельно).
|
||
2. `cmd/bot` — отдельный запуск бота.
|
||
3. `cmd/miniapp-receiver` — сервисный контур для miniapp/webhook.
|
||
4. `cmd/whois-service` — standalone whois service.
|
||
5. `cmd/addons-v8-service` — standalone addons runtime service.
|
||
|
||
## Graceful shutdown
|
||
|
||
При `SIGINT/SIGTERM`:
|
||
|
||
1. останавливается bot loop;
|
||
2. вызывается `Shutdown` у API;
|
||
3. вызывается `Shutdown` у `whois-service` и `addons-v8-service` (если запущены).
|