Skip to content

Remove reference to drone #20

Open
@eileen-kuehn

Description

@eileen-kuehn

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, and empty

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

await sampling_required.put(
DroneStatusCaching(
repr(self),
self.pool_resources["cores"],
self.theoretical_available_resources["cores"],
self.jobs_with_cached_data,
)
)

await sampling_required.put(
DroneStatusCaching(
repr(self),
self.pool_resources["cores"],
self.theoretical_available_resources["cores"],
self.jobs_with_cached_data,
)
)

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 allocation and utilisation

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions