dnsimple / erldns

DNS server, in Erlang.
MIT License
398 stars 98 forks source link

Introduce timeouts to provide more control over long-running requests #71

Closed aeden closed 6 years ago

aeden commented 6 years ago

Previous to this change, a significant number of long-running requests could cause worker mailboxes to become too large to process effectively. With this change workers call worker_process(ers) with a specific timeout, and if the timeout is reached, the worker will terminate the existing worker_process(er) and restart it.

aeden commented 6 years ago

Note that with this change it may be possible to remove the dependency on poolboy as the TCP request handling has been switched to use the same queueing mechanism as the UDP request handling.