mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-22 20:12:00 -06:00
Restore using import_string for jobs
Using the 'import_string()' utility from Django allows the job script class to be simplified, as module imports no longer need to avoid loops. This should make it easier to queue and maintain jobs.
This commit is contained in:
parent
5fab8e4839
commit
957bc3d3de
@ -1,6 +1,10 @@
|
||||
import logging
|
||||
|
||||
from netbox.search.backends import search_backend
|
||||
from utilities.jobs import BackgroundJob
|
||||
from .choices import DataSourceStatusChoices
|
||||
from .exceptions import SyncError
|
||||
from .models import DataSource
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@ -12,11 +16,6 @@ class SyncDataSourceJob(BackgroundJob):
|
||||
|
||||
@classmethod
|
||||
def run(cls, job, *args, **kwargs):
|
||||
from netbox.search.backends import search_backend
|
||||
from .choices import DataSourceStatusChoices
|
||||
from .exceptions import SyncError
|
||||
from .models import DataSource
|
||||
|
||||
datasource = DataSource.objects.get(pk=job.object_id)
|
||||
|
||||
try:
|
||||
|
@ -12,6 +12,7 @@ from django.core.validators import RegexValidator
|
||||
from django.db import models
|
||||
from django.urls import reverse
|
||||
from django.utils import timezone
|
||||
from django.utils.module_loading import import_string
|
||||
from django.utils.translation import gettext as _
|
||||
|
||||
from netbox.constants import CENSOR_TOKEN, CENSOR_TOKEN_CHANGED
|
||||
@ -161,7 +162,7 @@ class DataSource(JobsMixin, PrimaryModel):
|
||||
DataSource.objects.filter(pk=self.pk).update(status=self.status)
|
||||
|
||||
# Enqueue a sync job
|
||||
from ..jobs import SyncDataSourceJob
|
||||
SyncDataSourceJob = import_string('core.jobs.SyncDataSourceJob')
|
||||
return SyncDataSourceJob.enqueue(
|
||||
instance=self,
|
||||
user=request.user
|
||||
|
Loading…
Reference in New Issue
Block a user