At the moment we have no blocking flag to cause clients to idle while they wait for a calculation to run.
That is if we try to run 3 jobs that all need the same BLAST output all 3 clients will run the BLAST and 2 will effectively discard their results. Ideally the 1st client to start processing a blast job should be able to signal to the other 2 to wait until it is finished.
Currently the blocking_cache branch houses a broken version of this behaviour.