Retry ETTN creation on Nova Poshta rate limit instead of failing
Checkbox relays Nova Poshta's "To many requests" (20000401501) as a 4xx third_party.generic error, not a 429, so bursts of receipt requests ended up as failed receipts. Such responses are now CheckboxRateLimitedError: the receipt stays pending and the worker job is retried with arq.Retry after the "Try again after N seconds" delay plus backoff. NP timeouts relayed the same way are treated as unavailable (unknown outcome). The HTTP client also sends Checkbox requests one at a time with a CHECKBOX_MIN_REQUEST_INTERVAL_MS pause and signs the cashier in once for concurrent jobs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -67,6 +67,8 @@ NOVA_POSHTA_API_KEY=change-me-novaposhta-apikey
|
||||
CHECKBOX_BASE_URL=https://api.checkbox.ua
|
||||
CHECKBOX_CLIENT_NAME=lux_fiscal
|
||||
CHECKBOX_CLIENT_VERSION=0.1.0
|
||||
# Пауза между запросами к Checkbox (мс): Новая Почта за Checkbox ограничивает частоту.
|
||||
CHECKBOX_MIN_REQUEST_INTERVAL_MS=1000
|
||||
# ЕТТН-чеки на тестовой кассе Checkbox не работают: локально весь цикл
|
||||
# прогоняется через стаб (чек «фискализируется» на втором опросе). В production запрещено.
|
||||
CHECKBOX_USE_STUB=false
|
||||
|
||||
Reference in New Issue
Block a user