Change Evolver task execution to prepare and execute in batches.

Review Request #10566 — Created May 28, 2019 and submitted

Information

Django Evolution
master

Reviewers

Evolver now groups tasks by their type, and works with them in batches
based on the type. That means all tasks of a type will be
prepared/executed at once.

It's now up to the task's class to handle the preparation and execution
of the tasks. This allows them to compute state before or after, and to
alter the state passed to each task.

When executing tasks, each batch of tasks of a given type are, by
default, executed in a transaction specific to the batch. Subclasses can
change the logic as needed for transaction handling.

Unit tests pass on Django 1.7 and 1.11.

Summary ID
Change Evolver task execution to prepare and execute in batches.
`Evolver` now groups tasks by their type, and works with them in batches based on the type. That means all tasks of a type will be prepared/executed at once. It's now up to the task's class to handle the preparation and execution of the tasks. This allows them to compute state before or after, and to alter the state passed to each task. When executing tasks, each batch of tasks of a given type are, by default, executed in a transaction specific to the batch. Subclasses can change the logic as needed for transaction handling.
b2bf13d354d975a6ef4065891db664751c605e34
Description From Last Updated

F811 redefinition of unused 'transaction' from line 8

reviewbotreviewbot
Checks run (1 failed, 1 succeeded)
flake8 failed.
JSHint passed.

flake8

chipx86
david
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to master (5355a5b)