File tree Expand file tree Collapse file tree 1 file changed +11
-2
lines changed
services/autoscaling/src/simcore_service_autoscaling/utils Expand file tree Collapse file tree 1 file changed +11
-2
lines changed Original file line number Diff line number Diff line change 8282).validate_python ("io.simcore.osparc-node-termination-started" )
8383
8484
85+ def _get_node_creation_date (node : Node ) -> datetime .datetime :
86+ assert node .created_at # nosec
87+ return arrow .get (node .created_at ).datetime
88+
89+
8590async def get_monitored_nodes (
8691 docker_client : AutoscalingDocker , node_labels : list [DockerLabelKey ]
8792) -> list [Node ]:
8893 node_label_filters = [f"{ label } =true" for label in node_labels ] + [
8994 f"{ label } " for label in _OSPARC_SERVICE_READY_LABEL_KEYS
9095 ]
91- return TypeAdapter (list [Node ]).validate_python (
96+ list_of_nodes = TypeAdapter (list [Node ]).validate_python (
9297 await docker_client .nodes .list (filters = {"node.label" : node_label_filters })
9398 )
99+ list_of_nodes .sort (key = _get_node_creation_date )
100+ return list_of_nodes
94101
95102
96103async def get_worker_nodes (docker_client : AutoscalingDocker ) -> list [Node ]:
97- return TypeAdapter (list [Node ]).validate_python (
104+ list_of_nodes = TypeAdapter (list [Node ]).validate_python (
98105 await docker_client .nodes .list (
99106 filters = {
100107 "role" : ["worker" ],
@@ -104,6 +111,8 @@ async def get_worker_nodes(docker_client: AutoscalingDocker) -> list[Node]:
104111 }
105112 )
106113 )
114+ list_of_nodes .sort (key = _get_node_creation_date )
115+ return list_of_nodes
107116
108117
109118async def remove_nodes (
You can’t perform that action at this time.
0 commit comments