348:80539f2c61fc
Anton Shestakov <av6@dwimlabs.net>, Sun, 12 Apr 2020 23:56:27 +0800
checker: really make sure hg outputs UTF-8

previous change 153:c50882dabe4f

candolint/queue.py

Permissions: -rw-r--r--

Other formats: Feeds:
from __future__ import absolute_import
import logging
def loop(rconn, keys, handler):
failures = {}
while True:
key, value = rconn.blpop(keys)
try:
handler(rconn, value)
except KeyboardInterrupt:
raise
except Exception as e:
logging.error('%r (while handling %r)', e, value)
fkey = hash(value)
failures.setdefault(fkey, 0)
failures[fkey] += 1
if failures[fkey] > 3:
logging.error('Dropping this value (too many errors)')
failures.pop(fkey)
else:
logging.info('Saving this value for later')
rconn.rpush(key, value)