# Как Локальный агент отслеживает задания печати

## Описание

**Локальный агент** (внутреннее техническое название службы — Job Tracking Monitor, `PrintumJTMS`) — служба, устанавливаемая на АРМ пользователя или сервер печати. Её задача — отслеживать локальную очередь печати и отправлять информацию о заданиях в Мониторинг.

Служба работает в фоне и постоянно опрашивает очередь печати на наличие заданий. Отслеживаемые статусы заданий:

- `Printed` — задание напечатано;
- `Retained` — задание удержано в очереди;
- `Completed` — задание завершено.

## Как отправляются данные

Данные отправляются в Мониторинг по **TCP**, по протоколам HTTP или HTTPS и портам 8000 или 8001 соответственно. Доставка сообщений **не гарантирована**: при проблемах со связью часть событий может быть потеряна без возможности восстановления.

## Потенциальные проблемы

#### Потеря событий при нестабильном соединении

Если в момент отправки данных связь с Мониторингом прервалась, событие теряется. Механизма повторной отправки нет.

#### Быстрое удаление задания из очереди

Если задание исчезает из очереди быстрее, чем Локальный агент успевает его опросить, нужный статус может не зафиксироваться.

## Что важно для диагностики

#### Windows
- Логи агента записываются в стандартный журнал событий:
```
Просмотр событий → Журналы Windows → Приложение → Источник ServicePrintum
```
#### Linux
- Статус работы службы и логи работы:
```
sudo systemctl status printum-jtm.service
/var/log/printum-jtm
```
## Связанные страницы

- [Как работают локальные устройства](http://wiki.printum.io/books/1-arxitektura-i-koncepcii/page/kak-rabotaiut-lokalnye-ustroistva)
- [Процессы в Мониторинге](http://wiki.printum.io/books/1-arxitektura-i-koncepcii/page/processy-v-monitoringe)