Skip to content
  • Iustin Pop's avatar
    watcher: handle full and drained queue cases · 24edc6d4
    Iustin Pop authored
    
    
    Currently the watcher is broken when the queue is full, thus not
    fulfilling its job as a queue cleaner. It also doesn't handle nicely the
    queue drained status.
    
    This patch does a few changes:
      - first archive jobs, and only after submit jobs; this fixes the case
        where the queue is already full and there are jobs suited for
        archiving (but not the case where the jobs all too young to be
        archived)
      - handle nicely the job queue full and drained cases—instead of
        tracebacks, log such cases nicely
      - reverse the initial value and special cases for update_file; we now
        whitelist instead of blacklist cases, since we have much more
        blacklist cases than vice versa, and we set the flag to True only
        after the run is successful
    
    The last change, especially, is a significant one: now errors during the
    watcher run will not update the status file, and thus they won't be lost
    again in the logs.
    
    Signed-off-by: default avatarIustin Pop <iustin@google.com>
    Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
    24edc6d4