Skip to content

Commit

Permalink
Made get_requests_summary more efficient
Browse files Browse the repository at this point in the history
  • Loading branch information
Igor8mr committed Nov 12, 2023
1 parent c1f9dad commit 6720b9b
Showing 1 changed file with 4 additions and 11 deletions.
15 changes: 4 additions & 11 deletions turbinia/api/models/request_status.py
Original file line number Diff line number Diff line change
Expand Up @@ -194,24 +194,17 @@ class RequestsSummary(BaseModel):
"""Represents a summary view of multiple Turbinia requests."""
requests_status: List[RequestStatus] = []

#Todo(igormr): Change this to iterate over requests only

def get_requests_summary(self) -> bool:
"""Generates a status summary for each Turbinia request."""
_state_manager = state_manager.get_state_manager()
instance_id = turbinia_config.INSTANCE_ID
tasks = _state_manager.get_task_data(instance=instance_id)
request_ids = [request_key.split(':')[1] for request_key in _state_manager.iterate_keys('Requests')]
request_ids = set()

for task in tasks:
request_id = task.get('request_id')
if not request_id in request_ids:
request_ids.add(request_id)

for request_id in request_ids:
filtered_tasks = [
task for task in tasks if task.get('request_id') == request_id
]
request_status = RequestStatus()
request_status.get_request_data(request_id, filtered_tasks, summary=True)
request_status.get_request_data(request_id, summary=True)
self.requests_status.append(request_status)

return bool(self.requests_status)

0 comments on commit 6720b9b

Please sign in to comment.