You shoud pass the callback arguments as a sequence (list / tuple).
str
object is also a sequence, but passing a string cause passing multiple arguments to the callback (each character of the string is treated as argument):
pool.apply_async(dispatch_call, [f])
OR
pool.apply_async(dispatch_call, (f,))