This defines an ordering of the project's tasks using project and user as seed for random.shuffle. Tasks from sched.get_candidate_task_ids are then returned in this order.
I've noticed that there still seems to be a bug with this code that sometimes leads to the final task not being presented, so I would hold off on merging.
This defines an ordering of the project's tasks using project and user as seed for random.shuffle. Tasks from sched.get_candidate_task_ids are then returned in this order.