From 34873ae9f8d7b13cb236717fd45d4eadd9485a28 Mon Sep 17 00:00:00 2001 From: Laurent Peuch Date: Tue, 22 Jan 2019 03:27:43 +0100 Subject: [PATCH] [enh] handle running job cancelation --- run.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/run.py b/run.py index 6a77d89..7aa82b3 100644 --- a/run.py +++ b/run.py @@ -12,6 +12,7 @@ import itertools from datetime import datetime, date from collections import defaultdict from functools import wraps +from concurrent.futures._base import CancelledError import ujson import aiohttp @@ -354,6 +355,13 @@ async def run_job(worker, job): "data": model_to_dict(job), }, ["jobs", f"job-{job.id}", f"app-jobs-{job.url_or_path}"]) + except CancelledError: + job.log += "\n" + job.end_time = datetime.now() + job.state = "canceled" + job.save() + + task_logger.info(f"Job '{job.name} #{job.id}' has been canceled") except Exception as e: traceback.print_exc() task_logger.exception(f"ERROR in job '{job.name} #{job.id}'")