<acct-file>
The line limits only connection establishment — from the start of the connection until it is ready to talk. The default is 5s.
Five seconds is a lot for a healthy network and little for a sick one. A receiver in the same data center answers in milliseconds; a receiver across an ocean with packet loss may not make it, and then the batch goes into a retry.
An expired wait is not a loss. The batch stays in the intermediate file and will be sent again. The price is data delay and a pile-up of files if this happens constantly.
The second half of the pair is http-webhook-io-timeout: it limits the conversation itself, and its default is the same.
The line will come in handy if a node is far away and the network to the Hub is not stable enough.
Increase it only with a measurement in hand:
| Value | When |
|---|---|
| 5s (default) | always |
| up to 30s | the node is far away, the network is lossy, measured |
Check with the same thing the engine uses to connect — an ordinary connection to the receiver’s address.
# the node is far away, connecting takes measurably long <acct-file /var/log/pmta/webhook.json> http-webhook-url https://hub.example.com/api/telemetry/pmta/7 http-webhook-connect-timeout 15s</acct-file>
what people get wrong and how it ends1 mistake▶
our experience
2 relations
curl -s -o /dev/null -w 'connect=%{time_connect} total=%{time_total}\n' https://hub.example.com/
3 articles
◇What the node tells about itself and through which channelsSeven observation surfaces: the web monitor, the console in four formats, the log, accounting, accounting search, metrics and export to external analytics.◇Two inbound report processors and what to do with themBounces by message and complaints are parsed by two identically structured blocks; each has its own address list and its own pair of decisions about the message’s fate.◇Five ways for a queue to hand off a messageA queue does not have to use SMTP: it can write to a file, run a program, call over HTTP or discard.