title: how do I use key word arguments with python multiprocessing pool apply_async
body: <p>I'm trying to get to grips with pythons multiprocessing module, specifically the apply_async method of <code>Pool</code>.  I'm trying to call a function with arguments and keyword arguments.  If I call the function without kwargs it's fine but when I try to add in a keyword argument I get:
  <code>TypeError: apply_async() got an unexpected keyword argument 'arg2'</code>
  Below is the test code that I'm running</p>
  
  <pre><code>#!/usr/bin/env python
  import multiprocessing
  from time import sleep
  def test(arg1, arg2=1, arg3=2):
      sleep(5)
  
  if __name__ == '__main__':
      pool = multiprocessing.Pool()
      for t in range(1000):
          pool.apply_async(test, t, arg2=5)
      pool.close()
      pool.join()
  </code></pre>
  
  <p>How can I call the function so that it accepts keyword arguments?</p>