Start tasks when they reach setting_up (#82)

This commit is contained in:
bmc-msft
2020-10-02 00:40:45 -04:00
committed by GitHub
parent 5bea635398
commit aa48469ad0

View File

@ -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.