Add timeout to Review Bot tools.

Review Request #8532 — Created Nov. 10, 2016 and submitted

Information

ReviewBot
master
85ec48d...

Reviewers

This change adds a timeout to tools for use in the status updates. This makes
it so that if, for some reason, the tool doesn't execute, it will show up as
"timed out" after a period. In production this can happen if there are no
workers that have that tool available, or the broker has decided to stop
passing messages because the disk is filling up.

  • Enabled extension after switching to this branch and saw that the evolution
    was correctly applied (after a couple hours of banging my head against the
    wall because of some .pyc nonsense).
  • Refreshed the tool list and saw that the timeouts defined in the tool
    classes were properly plumbed through into the DB models.
  • Stopped my worker node and triggered some tools by publishing a review
    request. Saw that the new status updates were initially listed as "starting",
    and that after the configured timeout, were then listed as "timed out".
  • Restarted my worker node and saw the tools run and the status update
    change to "passed".
Description From Last Updated

Can we add doc comments to this? It'll be helpful for future tool authors to know what this is for …

chipx86chipx86
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        bot/reviewbot/tasks.py
        extension/reviewbotext/evolutions/tool_timeout.py
        bot/reviewbot/tools/__init__.py
        bot/reviewbot/tools/cppcheck.py
        bot/reviewbot/tools/cpplint.py
        extension/reviewbotext/admin.py
        extension/reviewbotext/integration.py
        bot/reviewbot/tools/pyflakes.py
        extension/reviewbotext/resources.py
        extension/reviewbotext/evolutions/__init__.py
        bot/reviewbot/tools/pep8.py
        bot/reviewbot/tools/jshint.py
        extension/reviewbotext/models.py
    
    
    
    Tool: Pyflakes
    Processed Files:
        bot/reviewbot/tasks.py
        extension/reviewbotext/evolutions/tool_timeout.py
        bot/reviewbot/tools/__init__.py
        bot/reviewbot/tools/cppcheck.py
        bot/reviewbot/tools/cpplint.py
        extension/reviewbotext/admin.py
        extension/reviewbotext/integration.py
        bot/reviewbot/tools/pyflakes.py
        extension/reviewbotext/resources.py
        extension/reviewbotext/evolutions/__init__.py
        bot/reviewbot/tools/pep8.py
        bot/reviewbot/tools/jshint.py
        extension/reviewbotext/models.py
    
    
  2. 
      
chipx86
  1. 
      
  2. bot/reviewbot/tools/__init__.py (Diff revision 1)
     
     
    Show all issues

    Can we add doc comments to this? It'll be helpful for future tool authors to know what this is for and what time measurement it's in.

  3. 
      
david
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        bot/reviewbot/tasks.py
        extension/reviewbotext/evolutions/tool_timeout.py
        bot/reviewbot/tools/__init__.py
        bot/reviewbot/tools/cppcheck.py
        bot/reviewbot/tools/cpplint.py
        extension/reviewbotext/admin.py
        extension/reviewbotext/integration.py
        bot/reviewbot/tools/pyflakes.py
        extension/reviewbotext/resources.py
        extension/reviewbotext/evolutions/__init__.py
        bot/reviewbot/tools/pep8.py
        bot/reviewbot/tools/jshint.py
        extension/reviewbotext/models.py
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        bot/reviewbot/tasks.py
        extension/reviewbotext/evolutions/tool_timeout.py
        bot/reviewbot/tools/__init__.py
        bot/reviewbot/tools/cppcheck.py
        bot/reviewbot/tools/cpplint.py
        extension/reviewbotext/admin.py
        extension/reviewbotext/integration.py
        bot/reviewbot/tools/pyflakes.py
        extension/reviewbotext/resources.py
        extension/reviewbotext/evolutions/__init__.py
        bot/reviewbot/tools/pep8.py
        bot/reviewbot/tools/jshint.py
        extension/reviewbotext/models.py
    
    
  2. 
      
brennie
  1. Ship It!
  2. 
      
chipx86
  1. Ship It!
  2. 
      
david
Review request changed
Status:
Completed
Change Summary:
Pushed to master (0aaadb0)