title: Python3: Ambiguous error when starting dask.distributed.worker_client from other worker_client
body: <p>I have code which I am trying to speed up using dask.disributed in Python3. I have a 3-level approach, where I have a dask.distributed <code>Client</code> object start a job. From within that job, I start <code>worker_clients</code> to run certain functions. Those <code>worker_clients</code> themselves start new <code>worker_clients</code>. So the heirarchy looks like</p>
  
  <pre><code>     level 0:                 Client 
                                  /|\
       level 1:           wcA1    wcA2    wcA3     
                           /|\    /|\      /|\
       level 2:         wcB1 ...  wcB4...  wcB7...
  
  </code></pre>
  
  <p>I get the error message </p>
  
  <p><code>&lt;Thread(Dask-Worker-Threads'-7805-1, started daemon 140437285209856)&gt;</code></p>
  
  <p>with no further detail. </p>
  
  <p><strong>What I have already tried:</strong></p>
  
  <ul>
  <li>skipping <code>level 1</code>. I can run this successfully with only two levels, a <code>Client</code> which starts <code>worker_clients</code>. The error occurs when I have a <code>worker_client</code> start other <code>worker_clients</code>.</li>
  </ul>
  
  <p><strong>Code:</strong></p>
  
  <ul>
  <li>to start main <code>Client</code>: <code>cli = Client()</code></li>
  <li>to start level1 and level2 <code>worker_clients</code>:</li>
  </ul>
  
  <pre class="lang-py prettyprint-override"><code>with worker_client() as wc:
      y = [wc.submit(func, i) for i in iterable]
      y = wc.gather(y)
  </code></pre>
  
  <p>Does anyone have any input? Thank you</p>