Task Management
Written by Shruthi Balakrishna on April 9, 2015.
Q: Why do we need a task manager ?
The given task is broken down into several branches by Branch workers. These branch tasks are either broken down further or treated as an indivisible leaf task. A leaf task is completed by a worker(leafer) while the branch tasks split further. This structure is represented as a tree with each node representing a task.
Hence, there is a need to manage this tree structure and monitor each task for 4 conditions –
- Branching
- Completion
- Rework
- Approval
These functions are carried out by the task manager. We limit the number of branches to 5 in order to maintain a fair pay and fair work policy. Have a greater number of branches disrupts the balance of branch-leaf workers and does not compliment our design.
The task manager picks tasks from a priority queue and calls for workers from the worker manager. Upon getting a worker, the worker is sent the task via a websocket message. The javascript running on the client makes the necessary outline changes on the browser to suitably display the contents of the command sent by the server.