Tidal join the rising tide


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.