Create status update before triggering tool invocation.

Review Request #8516 — Created Nov. 3, 2016 and submitted — Latest diff uploaded

Information

ReviewBot
master
c2224b7...

Reviewers

In cases where a tool fails to run (for example, there are no running workers
that support that tool, or the broker has decided to stop passing messages due
to a full disk), we still want some feedback that Review Bot has tried to start
the process.

This change makes it so the extension creates the StatusUpdate instance, which
is then updated by the worker. When it's first created, the description will be
"starting...", and once the worker actually takes over, that will be updated to
"running...". In a future change, I'm going to make use of the new timeout
feature so that when the task fails to start, it will eventually show up to the
user as timed out.

Published a review request with the broker running but no workers. Saw the new
status update display as "starting...". Fired up the worker node and saw it
process the task, updating the status update to "running..." and then
finished.