'Equivalent of the :func:`apply` built-in function.
Callbacks should optimally return as soon as possible since
otherwise the thread which handles the result will get blocked.'

def apply_async(self, target, args=[], kwargs={}, **options):

    if self._does_debug:
        logger.debug(u'TaskPool:    Apply    %s    (args:%s    kwargs:%s)', target, truncate(safe_repr(args), 1024), truncate(safe_repr(kwargs), 1024))
    return self.on_apply(target, args, kwargs, waitforslot=self.putlocks, callbacks_propagate=self.callbacks_propagate, **options)
