mirror of
https://github.com/microsoft/onefuzz.git
synced 2025-06-16 20:08:09 +00:00
Refactor internal node event schemas (#29)
This commit is contained in:
@ -7,12 +7,7 @@ from typing import List, Optional, Tuple
|
||||
from uuid import UUID
|
||||
|
||||
from onefuzztypes.models import TaskEvent as BASE_TASK_EVENT
|
||||
from onefuzztypes.models import (
|
||||
TaskEventSummary,
|
||||
WorkerDoneEvent,
|
||||
WorkerEvent,
|
||||
WorkerRunningEvent,
|
||||
)
|
||||
from onefuzztypes.models import TaskEventSummary, WorkerEvent
|
||||
|
||||
from .orm import ORMMixin
|
||||
|
||||
@ -26,8 +21,8 @@ class TaskEvent(BASE_TASK_EVENT, ORMMixin):
|
||||
return [
|
||||
TaskEventSummary(
|
||||
timestamp=e.Timestamp,
|
||||
event_data=cls.get_event_data(e.event_data),
|
||||
event_type=type(e.event_data.event).__name__,
|
||||
event_data=get_event_data(e.event_data),
|
||||
event_type=get_event_type(e.event_data),
|
||||
)
|
||||
for e in events
|
||||
]
|
||||
@ -36,12 +31,20 @@ class TaskEvent(BASE_TASK_EVENT, ORMMixin):
|
||||
def key_fields(cls) -> Tuple[str, Optional[str]]:
|
||||
return ("task_id", None)
|
||||
|
||||
@classmethod
|
||||
def get_event_data(cls, worker_event: WorkerEvent) -> str:
|
||||
event = worker_event.event
|
||||
if isinstance(event, WorkerDoneEvent):
|
||||
return "exit status: %s" % event.exit_status
|
||||
elif isinstance(event, WorkerRunningEvent):
|
||||
return ""
|
||||
else:
|
||||
return "Unrecognized event: %s" % event
|
||||
|
||||
def get_event_data(event: WorkerEvent) -> str:
|
||||
if event.done:
|
||||
return "exit status: %s" % event.done.exit_status
|
||||
elif event.running:
|
||||
return ""
|
||||
else:
|
||||
return "Unrecognized event: %s" % event
|
||||
|
||||
|
||||
def get_event_type(event: WorkerEvent) -> str:
|
||||
if event.done:
|
||||
return type(event.done).__name__
|
||||
elif event.running:
|
||||
return type(event.running).__name__
|
||||
else:
|
||||
return "Unrecognized event: %s" % event
|
||||
|
Reference in New Issue
Block a user