diff --git a/redash/tasks/worker.py b/redash/tasks/worker.py index 9f6f93558c..3f68351228 100644 --- a/redash/tasks/worker.py +++ b/redash/tasks/worker.py @@ -50,8 +50,13 @@ def stop_executing_job(self, job): self.log.warning("Job %s has been cancelled.", job.id) def soft_limit_exceeded(self, job): - seconds_under_monitor = (utcnow() - self.monitor_started).seconds - return seconds_under_monitor > job.timeout + self.grace_period + job_has_time_limit = job.timeout != -1 + + if job_has_time_limit: + seconds_under_monitor = (utcnow() - self.monitor_started).seconds + return seconds_under_monitor > job.timeout + self.grace_period + else: + return False def enforce_hard_limit(self, job): self.log.warning(