<acct-file>
The line limits waiting when writing to the program that accounting records are handed to. The default is 1m, and it applies only to the pipe form.
The point is in one word — “unresponsive”. A collector program may not crash but simply stop reading: hang, get stuck on its database, go into an endless loop. Without a threshold the node would wait for it indefinitely, and accounting would hold up mail.
The threshold and the restart are a pair. This one limits a single write, retry-interval schedules the next attempt after a failure.
A minute is a lot. For a mail node a one-minute pause on writing accounting is noticeable, and under load the threshold is usually lowered.
We follow the same principle elsewhere: the telemetry receiver replies at once and parses the batch in the background — precisely so as not to hold up someone else’s mail node. Here the threshold solves the same task from the node’s side.
The threshold is sized to the collector’s speed:
| Value | When |
|---|---|
| 1m (default) | the collector belongs to someone else, its behavior is unknown |
| 5s–10s | the collector is your own and fast |
A write failure does not lose data silently — it triggers the restart mechanism, but the gap is still not saved.
# your own fast collector — a threshold in seconds, not a minute <acct-file |/usr/local/bin/collector.pl> write-timeout 10s retry-interval 1m </acct-file>
what people get wrong and how it ends1 mistake▶
our experience
2 relations
grep -i "timeout" /var/log/pmta/log | tail -20
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.