def join_native(self, timeout=None, propagate=True, interval=0.5, callback=None, no_ack=True):
    'Backend optimized version of :meth:`join`.\n\n        .. versionadded:: 2.2\n\n        Note that this does not support collecting the results\n        for different task types using different backends.\n\n        This is currently only supported by the amqp, Redis and cache\n        result backends.\n\n        '
    assert_will_not_block()
    order_index = (None if callback else dict(((result.id, i) for (i, result) in enumerate(self.results))))
    acc = (None if callback else [None for _ in range(len(self))])
    for (task_id, meta) in self.iter_native(timeout, interval, no_ack):
        value = meta['result']
        if (propagate and (meta['status'] in states.PROPAGATE_STATES)):
            raise value
        if callback:
            callback(task_id, value)
        else:
            acc[order_index[task_id]] = value
    return acc
Backend optimized version of :meth:`join`.

.. versionadded:: 2.2

Note that this does not support collecting the results
for different task types using different backends.

This is currently only supported by the amqp, Redis and cache
result backends.
def join_native(self, timeout=None, propagate=True, interval=0.5, callback=None, no_ack=True):
    'Backend optimized version of :meth:`join`.\n\n        .. versionadded:: 2.2\n\n        Note that this does not support collecting the results\n        for different task types using different backends.\n\n        This is currently only supported by the amqp, Redis and cache\n        result backends.\n\n        '
    assert_will_not_block()
    order_index = (None if callback else dict(((result.id, i) for (i, result) in enumerate(self.results))))
    acc = (None if callback else [None for _ in range(len(self))])
    for (task_id, meta) in self.iter_native(timeout, interval, no_ack):
        value = meta['result']
        if (propagate and (meta['status'] in states.PROPAGATE_STATES)):
            raise value
        if callback:
            callback(task_id, value)
        else:
            acc[order_index[task_id]] = value
    return acc