-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Currently the Drone is nearly a one-to-one copy of the Drone (now Workernode) in the core LAPIS package. There are some subtle differences including:
- parameters
sitename,connection, andempty
Lines 25 to 30 in 8f4f614
| sitename: str = None, | |
| connection: "Connection" = None, | |
| empty: callable = lambda drone: drone.theoretical_available_resources.get( | |
| "cores", 1 | |
| ) | |
| < 1, |
- additional logging information
- in
run - in
shutdown - several occurrences in
_run_job
- in
Lines 87 to 94 in 8f4f614
| await sampling_required.put( | |
| DroneStatusCaching( | |
| repr(self), | |
| self.pool_resources["cores"], | |
| self.theoretical_available_resources["cores"], | |
| self.jobs_with_cached_data, | |
| ) | |
| ) |
Lines 124 to 131 in 8f4f614
| await sampling_required.put( | |
| DroneStatusCaching( | |
| repr(self), | |
| self.pool_resources["cores"], | |
| self.theoretical_available_resources["cores"], | |
| self.jobs_with_cached_data, | |
| ) | |
| ) |
Lines 163 to 170 in 8f4f614
| await sampling_required.put( | |
| DroneStatusCaching( | |
| repr(self), | |
| self.pool_resources["cores"], | |
| self.theoretical_available_resources["cores"], | |
| self.jobs_with_cached_data, | |
| ) | |
| ) |
- handling the initialisation of
allocationandutilisation
Lines 104 to 109 in 8f4f614
| if ( | |
| getattr(levels, resource_key) == 0 | |
| and self.pool_resources[resource_key] == 0 | |
| ): | |
| pass | |
| else: |
This prevents us from removing the implementation from the extension. We might consider creating a CachingDrone instead, but there might also be other options available that jobs could be handled transparently.
This issue is related to #21 as the extension of a job also requires subclassing while some of the base methods still need to be copied.