gzochi - Tasks: task #14809, Task server / client...
You are not allowed to post comments on this tracker with your current authentication level.
task #14809: Task server / client implementation for distributed mode
Submitter: | Julian Graham <juliang> | ||
Submitted: | Sat 13 Jan 2018 04:46:28 PM UTC | ||
Should Start On: | Sat 13 Jan 2018 05:00:00 AM UTC | Should be Finished on: | Sat 13 Jan 2018 05:00:00 AM UTC |
Category: | None | Priority: | 7 - High |
Status: | Done | Privacy: | Public |
Assigned to: | None | Percent Complete: | 100% |
Open/Closed: | Closed | Effort: | 0.00 |
No files currently attached
Depends on the following items: None found
Items that depend on this one: None found
Carbon-Copy List
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follow 3 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2018-04-19 | juliang | Status | None | Done | |
Percent Complete | 0% | 100% | |||
Open/Closed | Open | Closed |
Powered by Savane 3.13-f8d8.
Corresponding source code
task server:
- map durable tasks to app nodes
- prefer nodes with mapping for task owner
- for system tasks or tasks with an unmapped owner, fallback strategy (e.g., node with fewest mapped tasks)
- when task completes
- unassign from app node
- when recurring task canceled
- unassign from app node
- when app node exits
- re-assign all tasks per strategy above
- what happens when task side effects (data transaction, scheduled tasks, etc.) are processed but task completion is not?
- if task completion sent before side effects, potential for lost side-effects
- if task completion sent after side effects, potential for duplicated side-effects (if task completion not received)
- looks like durable task executor removes handle as part of the task transaction; so perhaps use removal of handle to indicate completion / cancelation?
- Or simply don't re-assign tasks that have been removed?
- when identity exits
- leave task assignments in place (for now?)
task client:
- listen for task assignments
- schedule within local task queue
- listen for task unassignments
- remove instances from local task queue
- listen for cancelation
- remove instances from local task queue
- could arrive from task running on other node
- when durable task completes, notify task server of completion
- and remove from local task queue
- when recurring task canceled, notify task server of cancelation
- and remove it from local task queue, if it is locally mapped