PLANTA Scheduling API Reference
- The scheduling functionality is accessible using the module scheduling.
- For use just do
import scheduling in code that is to be run by PLANTA Server.
SchedulingType
| Enum Name | Enum Value | Comment |
|---|
| CAPACITY_SCHEDULING | 0 | capacity scheduling |
| UNLOAD_SCHEDULING | 1 | unload project |
| TIME_SCHEDULING | 2 | time scheduling |
Scheduling Convenience Functions
- All of the following functions take either
- (technical) project id arguments, e.g.
scheduling.unload('4711', '4811'), or - an iterable of technical project ids, e.g.
scheduling.unload(['4711', '4811'])
- They return nothing (
None) - Projects that cannot be found are silently skipped!
| Function Name | Comment |
|---|
unload() | Unload the given projects |
reschedule() | Do a rescheduling on the given projects |
schedule_capacity() | Capacity scheduling |
schedule_time() | Pure time based scheduling |
Internal Scheduling Functionality
| Function Name | Parameter Description | Comment |
|---|
schedule(seq, sched_action, rescheduling) | seq: iterable (technical project ids)
sched_action: see SchedulingType
rescheduling: boolean | For internal use only |
Effort Distribution
| Function Name | Parameter Description | Comment |
|---|
distribute_effort(seq) | seq: iterable containing dtp records from table 801 | For internal use only |
Simulation
Simulation class
The Simulation class adds a bit of syntactic sugar to the simulation API as it provides indirect access to the simulation API and automatically clears the simulation on __exit__.
| Method | Parameter(s) | Return Value | Comment |
|---|
add_relation() | project: project uuid
activity1: predecessor uuid
activity2: successor uuid | none | add relation to simulation environment |
remove_relation() | project: project uuid
activity1: predecessor uuid
activity2: successor uuid | none | remove relation from the simulation environment |
Direct usage of the simulation API is also possible.
| Function Name | Parameter Description | Comment |
|---|
simulation_add_relation(project, activity1, activity2) | project: project uuid
activity1: predecessor uuid
activity2: successor uuid | add relation to simulation environment |
simulation_remove_relation(project, activity1, activity2) | project: project uuid
activity1: predecessor uuid
activity2: successor uuid | remove relation from simulation environment |
simulation_clear() |
| clear simulation environment |
Cycle Check
| Function Name | Parameter Description | Comment |
|---|
project_has_cycle(project) | project: project uuid | returns true if project contains cycle, false otherwise (respects simulation environment) |