def test_cycle_task_set_meta(jm):
    to_delete = TaskSetMeta(count=0)
    to_delete.save()
    to_keep = TaskSetMeta(count=1)
    to_keep.save()

    assert [item.id for item in TaskSetMeta.objects.all()] == [to_delete.id, to_keep.id]

    call_command('cycle_data', sleep_time=0, days=1, chunk_size=3)

    assert [item.id for item in TaskSetMeta.objects.all()] == [to_keep.id]
Exemple #2
0
def create_taskset(tasks, callback):
    """Create a taskset i.e. a group of tasks that are all run before another
    task is called.

    :param tasks: List of celery Signature objects for the tasks in the set.
    :param callback: Celery Signature object for the callback to run
    """

    tasks = tasks
    callback = callback

    num_tasks = len(tasks)

    sync_row = TaskSetMeta(count=num_tasks)
    sync_row.save()

    taskset_data = {"callback": callback, "taskset_id": sync_row.id}

    for task_signature in tasks:
        task_signature.kwargs["_taskset"] = taskset_data
        task_signature.apply_async()
Exemple #3
0
def create_taskset(tasks, callback):
    """Create a taskset i.e. a group of tasks that are all run before another
    task is called.

    :param tasks: List of celery Signature objects for the tasks in the set.
    :param callback: Celery Signature object for the callback to run
    """

    tasks = tasks
    callback = callback

    num_tasks = len(tasks)

    sync_row = TaskSetMeta(count=num_tasks)
    sync_row.save()

    taskset_data = {"callback": callback,
                    "taskset_id": sync_row.id}

    for task_signature in tasks:
        task_signature.kwargs["_taskset"] = taskset_data
        task_signature.apply_async()
def test_cycle_task_set_meta(jm):
    to_delete = TaskSetMeta(count=0)
    to_delete.save()
    to_keep = TaskSetMeta(count=1)
    to_keep.save()

    assert [item.id for item in TaskSetMeta.objects.all()] == [to_delete.id, to_keep.id]

    call_command('cycle_data', sleep_time=0, days=1, chunk_size=3)

    assert [item.id for item in TaskSetMeta.objects.all()] == [to_keep.id]