PLANTA Scheduling API Reference
- The scheduling functionality is accessible via the Scheduling module.
- To use it, simply write
import scheduling
in the 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 either take
- (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 which cannot be found are skipped silently!
Function Name | Comment |
---|
unload() | Unload the projects in question |
reschedule() | Perform a rescheduling for the projects in question |
schedule_capacity() | Capacity scheduling |
schedule_time() | Plain 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 use 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) |