Управляется через переменные окружения. Значения по умолчанию указаны в скобках.
-
Производительность и батчи
CAMPAIGN_CONCURRENCY— параллелизм воркера очереди (5)CAMPAIGN_MESSAGE_RATE— лимит сообщений в секунду, вводит задержку между письмами (10)CAMPAIGN_BATCH_SIZE— размер батча получателей для поэтапной отправки (100)
-
Ретраи, задержки, бэкофф
CAMPAIGN_ATTEMPTS— количество попыток задачи очереди (5)CAMPAIGN_DELAY_MS— дефолтная задержка задачи, мс (0)CAMPAIGN_BACKOFF_TYPE— тип бэкоффа:fixed|exponential(exponential)CAMPAIGN_BACKOFF_MS— задержка бэкоффа, мс (5000)
-
Очистка задач очереди
CAMPAIGN_REMOVE_ON_COMPLETE— сколько завершенных задач хранить (1000)CAMPAIGN_REMOVE_ON_FAIL— удалять ли упавшие задачи (false)
Применение:
defaultJobOptionsочередиcampaignsберутattempts,backoff,delay,removeOnComplete,removeOnFailиз env.- В
CampaignSenderProcessorприменяетсяCAMPAIGN_BATCH_SIZEиCAMPAIGN_MESSAGE_RATE(пауза между письмами), отправка идет батчами.
# Производительность/батчи
CAMPAIGN_CONCURRENCY=10
CAMPAIGN_MESSAGE_RATE=10
CAMPAIGN_BATCH_SIZE=100
# Ретраи/бэкофф/задержки
CAMPAIGN_ATTEMPTS=5
CAMPAIGN_DELAY_MS=0
CAMPAIGN_BACKOFF_TYPE=exponential
CAMPAIGN_BACKOFF_MS=5000
# Очистка очереди
CAMPAIGN_REMOVE_ON_COMPLETE=1000
CAMPAIGN_REMOVE_ON_FAIL=false-
Веса событий:
ENGAGEMENT_WEIGHT_SENT— за отправленное письмо (+1)ENGAGEMENT_WEIGHT_OPEN— за первое открытие (+5)ENGAGEMENT_WEIGHT_CLICK— за первый клик (+10)ENGAGEMENT_WEIGHT_HARD_FAIL— за hard-fail (-30)ENGAGEMENT_WEIGHT_SOFT_FAIL— за soft-fail (0)ENGAGEMENT_WEIGHT_UNSUB— при отписке (-50)ENGAGEMENT_UNSUB_RESET— при отписке сбрасывать счетчик в 0 (true). Если false — применяется штрафENGAGEMENT_WEIGHT_UNSUB.
-
Периодический decay (плавное уменьшение):
ENGAGEMENT_DECAY_ENABLED— включить ночной decay (true)ENGAGEMENT_DECAY_CRON— CRON расписание ("0 3 * * *" — ежедневно в 03:00)ENGAGEMENT_DECAY_PERCENT— процент снижения от текущего |score| (5)ENGAGEMENT_DECAY_MIN_SCORE— нижняя граница (0)ENGAGEMENT_DECAY_MAX_DELTA— потолок снижения за один прогон (50)ENGAGEMENT_DECAY_ACTIVE_ONLY— применять только кACTIVEконтактам (true)ENGAGEMENT_DECAY_BATCH_SIZE— размер батча обновлений (5000)
Очередь engagement-decay создает повторяющуюся задачу по CRON и снижает engagementScore батчево, не затрагивая удаленные контакты. Время — по TZ (по умолчанию UTC).
ENGAGEMENT_WEIGHT_SENT=1
ENGAGEMENT_WEIGHT_OPEN=5
ENGAGEMENT_WEIGHT_CLICK=10
ENGAGEMENT_WEIGHT_HARD_FAIL=-30
ENGAGEMENT_WEIGHT_SOFT_FAIL=0
ENGAGEMENT_WEIGHT_UNSUB=-50
ENGAGEMENT_UNSUB_RESET=true
ENGAGEMENT_DECAY_ENABLED=true
ENGAGEMENT_DECAY_CRON=0 3 * * *
ENGAGEMENT_DECAY_PERCENT=5
ENGAGEMENT_DECAY_MIN_SCORE=0
ENGAGEMENT_DECAY_MAX_DELTA=50
ENGAGEMENT_DECAY_ACTIVE_ONLY=true
ENGAGEMENT_DECAY_BATCH_SIZE=5000- Переменные окружения:
-
TRACKING_HMAC_ENABLED— включить проверку подписи (false) -
TRACKING_HMAC_SECRET— секрет для HMAC (обязательно при включении) -
TRACKING_HMAC_PARAM— имя параметра подписи (s) -
TRACKING_HMAC_ALGO— алгоритмsha256|sha512(sha256)
-
- Генерация подписи:
- Клики:
HMAC(algo, secret,${logId}:${url})→s - Отписка:
HMAC(algo, secret,${logId}:unsubscribe)→s
- Клики:
- В шаблонах поддерживается плейсхолдер
{{unsubscribe_url}}— подставляется публичная ссылка/api/v1/track/u?...с подписью при включенном HMAC.
TRACKING_HMAC_ENABLED=true
TRACKING_HMAC_SECRET=supersecret
TRACKING_HMAC_PARAM=s
TRACKING_HMAC_ALGO=sha256- Переменные окружения:
CAMPAIGN_SMTP_CONNECTION_TIMEOUT_MS— таймаут соединения (мс)CAMPAIGN_SMTP_GREETING_TIMEOUT_MS— таймаут приветствия (мс)CAMPAIGN_SMTP_SOCKET_TIMEOUT_MS— таймаут сокета (мс)CAMPAIGN_SMTP_TLS_REJECT_UNAUTHORIZED— проверка TLS-сертификата (true)CAMPAIGN_SMTP_TLS_MIN_VERSION— мин. версия TLS (например,TLSv1.2)CAMPAIGN_SMTP_TLS_CIPHERS— список шифров (опционально)CAMPAIGN_SMTP_DEBUG— подробные логи nodemailer (false)
- Ошибки отправки классифицируются как
[SOFT]/[HARD]вEmailLog.errorMessageдля ускоренной диагностики.
CAMPAIGN_SMTP_CONNECTION_TIMEOUT_MS=15000
CAMPAIGN_SMTP_GREETING_TIMEOUT_MS=10000
CAMPAIGN_SMTP_SOCKET_TIMEOUT_MS=20000
CAMPAIGN_SMTP_TLS_REJECT_UNAUTHORIZED=true
CAMPAIGN_SMTP_TLS_MIN_VERSION=TLSv1.2
CAMPAIGN_SMTP_TLS_CIPHERS=ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
CAMPAIGN_SMTP_DEBUG=false