Log the exception if the worker fails.

This commit is contained in:
Andrew Hamilton 2016-10-21 23:11:18 +02:00
parent e39d99b2ac
commit edee5e6b58
3 changed files with 19 additions and 15 deletions

View file

@ -563,6 +563,16 @@ php5_syntax.dependencies = {"php"}
#############################
LOG_PATH = os.path.join(os.getcwd(), "vigil.log")
def log_error(message=None):
message = traceback.format_exc() if message is None else message + "\n"
with open(LOG_PATH, "a") as log_file:
log_file.write(message)
def lru_cache_with_eviction(maxsize=128, typed=False):
versions = {}
make_key = functools._make_key

9
vigil
View file

@ -84,15 +84,6 @@ KEYS_DOC = """Keys:
"""
LOG_PATH = os.path.join(os.getcwd(), "vigil.log")
def log_error(message=None):
message = traceback.format_exc() if message is None else message + "\n"
with open(LOG_PATH, "a") as log_file:
log_file.write(message)
class Entry(collections.UserList):
def __init__(self, path, results, summary, highlighted=None,

View file

@ -81,12 +81,15 @@ class Worker:
def main():
print(os.getpid(), flush=True)
while True:
tool_name, path = input(), input()
tool = getattr(tools, tool_name)
result = tools.Result(path, tool)
status, result.result = tools.run_tool_no_error(path, tool)
print(status.value, flush=True)
try:
while True:
tool_name, path = input(), input()
tool = getattr(tools, tool_name)
result = tools.Result(path, tool)
status, result.result = tools.run_tool_no_error(path, tool)
print(status.value, flush=True)
except:
tools.log_error()
if __name__ == "__main__":