mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Fixes #13812: Record data source sync failure when run via syncdatasource command
This commit is contained in:
@ -1,5 +1,6 @@
|
|||||||
from django.core.management.base import BaseCommand, CommandError
|
from django.core.management.base import BaseCommand, CommandError
|
||||||
|
|
||||||
|
from core.choices import DataSourceStatusChoices
|
||||||
from core.models import DataSource
|
from core.models import DataSource
|
||||||
|
|
||||||
|
|
||||||
@ -33,9 +34,13 @@ class Command(BaseCommand):
|
|||||||
for i, datasource in enumerate(datasources, start=1):
|
for i, datasource in enumerate(datasources, start=1):
|
||||||
self.stdout.write(f"[{i}] Syncing {datasource}... ", ending='')
|
self.stdout.write(f"[{i}] Syncing {datasource}... ", ending='')
|
||||||
self.stdout.flush()
|
self.stdout.flush()
|
||||||
|
try:
|
||||||
datasource.sync()
|
datasource.sync()
|
||||||
self.stdout.write(datasource.get_status_display())
|
self.stdout.write(datasource.get_status_display())
|
||||||
self.stdout.flush()
|
self.stdout.flush()
|
||||||
|
except Exception as e:
|
||||||
|
DataSource.objects.filter(pk=datasource.pk).update(status=DataSourceStatusChoices.FAILED)
|
||||||
|
raise e
|
||||||
|
|
||||||
if len(options['name']) > 1:
|
if len(options['name']) > 1:
|
||||||
self.stdout.write(f"Finished.")
|
self.stdout.write(f"Finished.")
|
||||||
|
Reference in New Issue
Block a user