def METHOD_NAME(
    task, items, chunk_size, task_args=None, task_kwargs=None
):
    """
    Splits a task depending on a list of items into a bunch of tasks of the
    specified chunk_size, passing a chunked queryset and optional additional
    arguments to each.
    Return the group of task signatures without executing it."""
    from olympia.amo.utils import chunked
    if task_args is None:
        task_args = ()
    if task_kwargs is None:
        task_kwargs = {}
    tasks = [
        task.si(chunk, *task_args, **task_kwargs)
        for chunk in chunked(items, chunk_size)
    ]
    log.info('Created a group of %s tasks for task "%s".', len(tasks), str(task.name))
    return group(tasks)