1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Record script execution time

This commit is contained in:
Jeremy Stretch
2019-08-14 10:12:30 -04:00
parent 30e14db881
commit c562af3a13
3 changed files with 26 additions and 4 deletions

View File

@@ -1,6 +1,7 @@
from collections import OrderedDict
import inspect
import pkgutil
import time
from django import forms
from django.conf import settings
@@ -220,10 +221,14 @@ def run_script(script, data, commit=True):
exists outside of the Script class to ensure it cannot be overridden by a script author.
"""
output = None
start_time = None
end_time = None
try:
with transaction.atomic():
start_time = time.time()
output = script.run(data)
end_time = time.time()
if not commit:
raise AbortTransaction()
except AbortTransaction:
@@ -239,7 +244,13 @@ def run_script(script, data, commit=True):
"Database changes have been reverted automatically."
)
return output
# Calculate execution time
if end_time is not None:
execution_time = end_time - start_time
else:
execution_time = None
return output, execution_time
def get_scripts():