Create status update before triggering tool invocation.

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

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.

Description From Last Updated

Worth using a @cached_property for this?

chipx86chipx86

Should be .pk

chipx86chipx86
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        bot/reviewbot/tasks.py
        extension/reviewbotext/extension.py
        extension/reviewbotext/integration.py
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        bot/reviewbot/tasks.py
        extension/reviewbotext/extension.py
        extension/reviewbotext/integration.py
    
    
  2. 
      
brennie
  1. Ship It!
  2. 
      
chipx86
  1. 
      
  2. extension/reviewbotext/extension.py (Diff revision 1)
     
     
     
     
    Show all issues

    Worth using a @cached_property for this?

    1. I don't think so, because it's not computed that frequently, and the caching would interfere with changing the configured user.

  3. extension/reviewbotext/integration.py (Diff revision 1)
     
     
    Show all issues

    Should be .pk

  4. 
      
david
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        bot/reviewbot/tasks.py
        extension/reviewbotext/extension.py
        extension/reviewbotext/integration.py
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        bot/reviewbot/tasks.py
        extension/reviewbotext/extension.py
        extension/reviewbotext/integration.py
    
    
  2. 
      
chipx86
  1. Ship It!
  2. 
      
david
Review request changed
Status:
Completed
Change Summary:
Pushed to master (743e3ae)