mirror of
https://github.com/microsoft/onefuzz.git
synced 2025-06-18 12:48:07 +00:00
Start tasks when they reach setting_up (#82)
This commit is contained in:
@ -79,9 +79,7 @@ def on_state_update(
|
|||||||
if task.state != TaskState.running:
|
if task.state != TaskState.running:
|
||||||
task.state = TaskState.setting_up
|
task.state = TaskState.setting_up
|
||||||
|
|
||||||
# We don't yet call `on_start()` for the task.
|
task.on_start()
|
||||||
# This will happen once we see a worker event that
|
|
||||||
# reports it as `running`.
|
|
||||||
task.save()
|
task.save()
|
||||||
|
|
||||||
# Note: we set the node task state to `setting_up`, even though
|
# Note: we set the node task state to `setting_up`, even though
|
||||||
@ -117,6 +115,8 @@ def on_worker_event(machine_id: UUID, event: WorkerEvent) -> func.HttpResponse:
|
|||||||
task_id = event.running.task_id
|
task_id = event.running.task_id
|
||||||
elif event.done:
|
elif event.done:
|
||||||
task_id = event.done.task_id
|
task_id = event.done.task_id
|
||||||
|
else:
|
||||||
|
raise NotImplementedError
|
||||||
|
|
||||||
task = get_task_checked(task_id)
|
task = get_task_checked(task_id)
|
||||||
node = get_node_checked(machine_id)
|
node = get_node_checked(machine_id)
|
||||||
@ -130,6 +130,9 @@ def on_worker_event(machine_id: UUID, event: WorkerEvent) -> func.HttpResponse:
|
|||||||
if node.state not in NodeState.ready_for_reset():
|
if node.state not in NodeState.ready_for_reset():
|
||||||
node.state = NodeState.busy
|
node.state = NodeState.busy
|
||||||
node_task.save()
|
node_task.save()
|
||||||
|
|
||||||
|
# Start the clock for the task if it wasn't started already
|
||||||
|
# (as happens in 1.0.0 agents)
|
||||||
task.on_start()
|
task.on_start()
|
||||||
elif event.done:
|
elif event.done:
|
||||||
# Only record exit status if the task isn't already shutting down.
|
# Only record exit status if the task isn't already shutting down.
|
||||||
|
Reference in New Issue
Block a user