mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-27 10:58:37 -06:00
Fix lingering background tasks after modifying DataSource
This commit is contained in:
parent
50cdee4710
commit
5dde085498
@ -8,7 +8,7 @@ from django.dispatch import receiver, Signal
|
|||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from django_prometheus.models import model_deletes, model_inserts, model_updates
|
from django_prometheus.models import model_deletes, model_inserts, model_updates
|
||||||
|
|
||||||
from core.choices import ObjectChangeActionChoices
|
from core.choices import JobStatusChoices, ObjectChangeActionChoices
|
||||||
from core.events import *
|
from core.events import *
|
||||||
from extras.events import enqueue_event
|
from extras.events import enqueue_event
|
||||||
from extras.utils import run_validators
|
from extras.utils import run_validators
|
||||||
@ -188,11 +188,16 @@ def enqueue_sync_job(instance, created, **kwargs):
|
|||||||
"""
|
"""
|
||||||
from .jobs import SyncDataSourceJob
|
from .jobs import SyncDataSourceJob
|
||||||
|
|
||||||
if instance.sync_interval:
|
if instance.enabled and instance.sync_interval:
|
||||||
SyncDataSourceJob.enqueue_once(instance, interval=instance.sync_interval)
|
SyncDataSourceJob.enqueue_once(instance, interval=instance.sync_interval)
|
||||||
elif not created:
|
elif not created:
|
||||||
# Delete any previously scheduled recurring jobs for this DataSource
|
# Delete any previously scheduled recurring jobs for this DataSource
|
||||||
SyncDataSourceJob.get_jobs(instance).filter(interval__isnull=False).delete()
|
for job in SyncDataSourceJob.get_jobs(instance).defer('data').filter(
|
||||||
|
interval__isnull=False,
|
||||||
|
status=JobStatusChoices.STATUS_SCHEDULED
|
||||||
|
):
|
||||||
|
# Call delete() per instance to ensure the associated background task is deleted as well
|
||||||
|
job.delete()
|
||||||
|
|
||||||
|
|
||||||
@receiver(post_sync)
|
@receiver(post_sync)
|
||||||
|
Loading…
Reference in New Issue
Block a user