Have multiple workers all reading from the same socket.
Latest version.
Handle ealready in a special way.
Set a timeout.
Remove timeout.
Rescue from gen_server:call timeout during parsing.

This is a short-term fix. The long-term fix is to 
make parsing an asynchronous call and let the parser
put the zone into the cache directly.
Measure time it takes to handle the query.