Задания

/jobs
Разрез по кампаниям

Отдаёт задания — группы писем — с числом получателей и объёмом в очереди.

Вызов — GET /jobs?format=json (или xml), одно задание — GET /jobDetail?format=json&jobid=123.

Это верхушка «Топ заданий»: длину задаёт http-default-max-items, по умолчанию десять строк.

Задание письму назначает подающая сторона. По SMTP это заголовок X-Job, и читается он, только если источнику разрешено process-x-job, — по умолчанию нет. При слиянии задание задаётся переменной *jobid, а не заголовком.

Доступ решает http-access по адресу, откуда пришёл запрос, — для чтения хватает уровня monitor. Ключ из http-api-key в заголовке X-API-Key даёт полный доступ с любого адреса.

Главная ловушка — принять пустую выдачу за отсутствие рассылок. Задания складываются только из писем, которым подающая сторона назначила задание и которым источник разрешил его назначить. Пустой ответ при полной очереди чаще значит «задания не назначались», чем «нечего отправлять».
Что делает Хаб. Спрашивает — экран «Мониторинг PMTA» берёт эту точку вместе с остальными четырьмя. Но в именованных источниках логинов Хаб пишет process-x-job false, поэтому почта, поданная через логины узла, в задания не складывается, и заданий для неё на экране нет.
Рекомендуемые значения

О чём спрашивать эту точку:

Вопрос Она ли
какие рассылки сейчас в очереди да, если задания назначаются
одно задание целиком да — /jobDetail
все задания, а не верхушка нет — show jobs: у команды умолчание «все»
что было вчера нет — это учёт
Адреса /jobs и /jobDetail, длина списка, заголовок X-Job с умолчанием false и переменная *jobid — из руководства (§ 5.10, § 3.3.1.58.23, § 3.3.7.49, § 6.3.15). Разграничение вопросов наше.
Пример в конфигурации
# задания в очереди и одно задание
curl -s 'http://127.0.0.1:8080/jobs?format=json'curl -s 'http://127.0.0.1:8080/jobDetail?format=json&jobid=123'
jobid — то значение, которое подающая сторона передала заголовком X-Job или переменной слияния.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
⇄

Связанные записи

1 связь

Как проверить на узле
Если заданий нет, проверить, разрешён ли их заголовок:
curl -s 'http://127.0.0.1:8080/jobs?format=json' | head -40
pmta show jobs
grep -rn 'process-x-job' /etc/pmta/
Пустой ответ при полной очереди — сначала посмотреть, разрешён ли заголовок задания в источнике, через который шла подача.
В Хабе
Цена ошибки
безопасно: неверное значение ничего не ломает
Сценарии
Разделение отправителей