Skip to content

Commit a67236f

Browse files
committed
Fixes #13812: Record data source sync failure when run via syncdatasource command
1 parent 634681a commit a67236f

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

netbox/core/management/commands/syncdatasource.py

+8-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from django.core.management.base import BaseCommand, CommandError
22

3+
from core.choices import DataSourceStatusChoices
34
from core.models import DataSource
45

56

@@ -33,9 +34,13 @@ def handle(self, *args, **options):
3334
for i, datasource in enumerate(datasources, start=1):
3435
self.stdout.write(f"[{i}] Syncing {datasource}... ", ending='')
3536
self.stdout.flush()
36-
datasource.sync()
37-
self.stdout.write(datasource.get_status_display())
38-
self.stdout.flush()
37+
try:
38+
datasource.sync()
39+
self.stdout.write(datasource.get_status_display())
40+
self.stdout.flush()
41+
except Exception as e:
42+
DataSource.objects.filter(pk=datasource.pk).update(status=DataSourceStatusChoices.FAILED)
43+
raise e
3944

4045
if len(options['name']) > 1:
4146
self.stdout.write(f"Finished.")

0 commit comments

Comments
 (0)