summaryrefslogtreecommitdiff
path: root/apscheduler
diff options
context:
space:
mode:
authorAlex Grönholm <alex.gronholm@nextday.fi>2017-12-09 19:27:49 +0200
committerAlex Grönholm <alex.gronholm@nextday.fi>2017-12-09 19:30:47 +0200
commit7794f56fe10a40664f8ac9efba839c4fff797e6d (patch)
treef4f92d4f01e85426b3d6020383104934957abddc /apscheduler
parent0a85a0a1375271929d6f708ae74fab59a4b5c04a (diff)
downloadapscheduler-7794f56fe10a40664f8ac9efba839c4fff797e6d.tar.gz
Fixed traceback or its frames not being available for logger.exception()
Diffstat (limited to 'apscheduler')
-rw-r--r--apscheduler/executors/base.py7
1 files changed, 3 insertions, 4 deletions
diff --git a/apscheduler/executors/base.py b/apscheduler/executors/base.py
index 6ed1ec3..4c09fc1 100644
--- a/apscheduler/executors/base.py
+++ b/apscheduler/executors/base.py
@@ -126,6 +126,9 @@ def run_job(job, jobstore_alias, run_times, logger_name):
except BaseException:
exc, tb = sys.exc_info()[1:]
formatted_tb = ''.join(format_tb(tb))
+ events.append(JobExecutionEvent(EVENT_JOB_ERROR, job.id, jobstore_alias, run_time,
+ exception=exc, traceback=formatted_tb))
+ logger.exception('Job "%s" raised an exception', job)
# This is to prevent cyclic references that would lead to memory leaks
if six.PY2:
@@ -135,10 +138,6 @@ def run_job(job, jobstore_alias, run_times, logger_name):
import traceback
traceback.clear_frames(tb)
del tb
-
- events.append(JobExecutionEvent(EVENT_JOB_ERROR, job.id, jobstore_alias, run_time,
- exception=exc, traceback=formatted_tb))
- logger.exception('Job "%s" raised an exception', job)
else:
events.append(JobExecutionEvent(EVENT_JOB_EXECUTED, job.id, jobstore_alias, run_time,
retval=retval))