Актуализация страниц о деплое и разработке + мелочи по оформлению
This commit is contained in:
+17
-11
@@ -52,7 +52,11 @@ iptvc/
|
||||
│ └── web/
|
||||
│ ├── server.go # Server, Start(), StartBackgroundChecker()
|
||||
│ ├── handlers.go # HTTP-обработчики
|
||||
│ ├── views.go # PlaylistView, ChannelView, PageData
|
||||
│ ├── templates.go # TemplateManager, //go:embed
|
||||
│ ├── openapi.go # OpenAPI-спецификация, Swagger UI
|
||||
│ ├── swagger/ # встроенные файлы Swagger UI
|
||||
│ ├── static/ # встроенные статические файлы (CSS, JS)
|
||||
│ └── views/ # HTML-шаблоны
|
||||
│ ├── base.html
|
||||
│ ├── list.html
|
||||
@@ -66,7 +70,8 @@ iptvc/
|
||||
### `app`
|
||||
|
||||
Глобальный контейнер: `Args` (CLI-флаги), `Config` (конфигурация), `Cache` (Redis-клиент).
|
||||
`Init()` загружает конфигурацию, инициализирует логгер и подключение к кешу.
|
||||
`Init()` загружает конфигурацию и инициализирует логгер.
|
||||
`InitCache()` подключается к KeyDB/Redis, если кеш включён.
|
||||
|
||||
### `app.config`
|
||||
|
||||
@@ -86,8 +91,8 @@ iptvc/
|
||||
Содержит логику проверки:
|
||||
|
||||
- **`PrepareListsToCheck(files, urls, codes)`** — формирует список плейлистов из файлов, URL и кодов ini-файла.
|
||||
- **`CheckPlaylists(lists)`** — параллельная проверка плейлистов (семфор `per-routine`), загрузка, парсинг, вызов `CheckChannels` для каждого.
|
||||
- **`CheckChannels(pls)`** — параллельная проверка каналов (семфор `per-routine`), HTTP-запрос с `Range` header.
|
||||
- **`CheckPlaylists(lists)`** — параллельная проверка плейлистов (семфор `max-routines`), загрузка, парсинг, вызов `CheckChannels` для каждого.
|
||||
- **`CheckChannels(pls)`** — параллельная проверка каналов (семфор `max-routines`), HTTP-запрос с `Range` header.
|
||||
- **`OnPlaylistChecked`** — глобальный callback, вызывается после проверки каждого плейлиста. Используется веб-сервером для обновления in-memory кеша.
|
||||
- **`cachePlaylist(pls)`** — сохранение результата в Redis (если включён).
|
||||
|
||||
@@ -108,7 +113,7 @@ iptvc/
|
||||
- **`Server`** — структура: конфиг, кеш, шаблоны, in-memory кеш (`memCache` с `sync.RWMutex`).
|
||||
- **`Start()`** — запуск HTTP-сервера.
|
||||
- **`StartBackgroundChecker(opts)`** — фоновая проверка в отдельной горутине.
|
||||
- **`CheckOptions`** — параметры: Every, Repeat, Random, Files, Urls, Codes.
|
||||
- **`CheckOptions`** — параметры: Repeat, Random, Files, Urls, Codes.
|
||||
|
||||
Маршруты (Go 1.22 patterns):
|
||||
|
||||
@@ -152,9 +157,8 @@ StartBackgroundChecker:
|
||||
→ check status + content type
|
||||
→ OnPlaylistChecked(pls) → memCache update
|
||||
→ one-cooldown sleep
|
||||
→ all-cooldown sleep
|
||||
sleep(every)
|
||||
if repeat > 0 && iteration >= repeat: stop
|
||||
→ all-cooldown sleep
|
||||
if repeat > 0 && iteration >= repeat: stop
|
||||
```
|
||||
|
||||
## CLI-флаги
|
||||
@@ -191,10 +195,12 @@ StartBackgroundChecker:
|
||||
|
||||
### Глобальные (`cmd/root.go`)
|
||||
|
||||
| Флаг | Поле | Описание |
|
||||
| --------------- | ----------------- | ----------------- |
|
||||
| `--config` | `Args.ConfigPath` | Путь к config.yml |
|
||||
| `-v, --verbose` | `Args.Verbose` | Подробный лог |
|
||||
| Флаг | Поле | Описание |
|
||||
| --------------- | ----------------- | ------------------- |
|
||||
| `--config` | `Args.ConfigPath` | Путь к config.yml |
|
||||
| `-v, --verbose` | `Args.Verbose` | Подробный лог |
|
||||
| `--debug` | `Args.Debug` | Режим отладки |
|
||||
| `--log-level` | `Args.LogLevel` | Уровень логирования |
|
||||
|
||||
## Конфигурация
|
||||
|
||||
|
||||
Reference in New Issue
Block a user