mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-29 11:56:25 -06:00
7848 cleanup
This commit is contained in:
parent
cfbe1c3ad0
commit
a8eee91463
@ -47,7 +47,7 @@ class BackgroundTaskSerializer(serializers.Serializer):
|
|||||||
|
|
||||||
class BackgroundQueueSerializer(serializers.Serializer):
|
class BackgroundQueueSerializer(serializers.Serializer):
|
||||||
name = serializers.CharField()
|
name = serializers.CharField()
|
||||||
url = serializers.SerializerMethodField()
|
# Note: Queue names are not url safe so not returning a url field
|
||||||
jobs = serializers.IntegerField()
|
jobs = serializers.IntegerField()
|
||||||
oldest_job_timestamp = serializers.CharField()
|
oldest_job_timestamp = serializers.CharField()
|
||||||
index = serializers.IntegerField()
|
index = serializers.IntegerField()
|
||||||
|
@ -12,7 +12,6 @@ router.register('jobs', views.JobViewSet)
|
|||||||
router.register('object-changes', views.ObjectChangeViewSet)
|
router.register('object-changes', views.ObjectChangeViewSet)
|
||||||
router.register('background-queues', views.QueueViewSet, basename='rqqueue')
|
router.register('background-queues', views.QueueViewSet, basename='rqqueue')
|
||||||
router.register('background-workers', views.WorkerViewSet, basename='rqworker')
|
router.register('background-workers', views.WorkerViewSet, basename='rqworker')
|
||||||
# router.register('background-tasks/(?P<queue_name>.+)/', views.TaskViewSet, basename='rqtask')
|
|
||||||
router.register('background-tasks', views.TaskViewSet, basename='rqtask')
|
router.register('background-tasks', views.TaskViewSet, basename='rqtask')
|
||||||
|
|
||||||
urlpatterns = router.urls
|
urlpatterns = router.urls
|
||||||
|
@ -108,6 +108,7 @@ class BaseRQListView(viewsets.ViewSet):
|
|||||||
class QueueViewSet(BaseRQListView):
|
class QueueViewSet(BaseRQListView):
|
||||||
"""
|
"""
|
||||||
Retrieve a list of RQ Queues.
|
Retrieve a list of RQ Queues.
|
||||||
|
Note: Queue names are not URL safe so not returning a detail view.
|
||||||
"""
|
"""
|
||||||
serializer_class = serializers.BackgroundQueueSerializer
|
serializer_class = serializers.BackgroundQueueSerializer
|
||||||
lookup_field = 'name'
|
lookup_field = 'name'
|
||||||
@ -118,17 +119,6 @@ class QueueViewSet(BaseRQListView):
|
|||||||
def get_data(self):
|
def get_data(self):
|
||||||
return get_statistics(run_maintenance_tasks=True)["queues"]
|
return get_statistics(run_maintenance_tasks=True)["queues"]
|
||||||
|
|
||||||
def retrieve(self, request, name):
|
|
||||||
queues = self.get_data()
|
|
||||||
if not queues:
|
|
||||||
raise Http404
|
|
||||||
|
|
||||||
for queue in queues:
|
|
||||||
if queue['name'] == name:
|
|
||||||
return Response(self.serializer_class(queue, context={'request': request}).data)
|
|
||||||
|
|
||||||
raise Http404
|
|
||||||
|
|
||||||
|
|
||||||
class WorkerViewSet(BaseRQListView):
|
class WorkerViewSet(BaseRQListView):
|
||||||
"""
|
"""
|
||||||
|
@ -5,7 +5,6 @@ from django_rq.workers import get_worker
|
|||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from rq.job import Job as RQ_Job, JobStatus
|
from rq.job import Job as RQ_Job, JobStatus
|
||||||
from rq.registry import DeferredJobRegistry, FailedJobRegistry, FinishedJobRegistry, StartedJobRegistry
|
|
||||||
|
|
||||||
from users.models import Token, User
|
from users.models import Token, User
|
||||||
from utilities.testing import APITestCase, APIViewTestCases, TestCase
|
from utilities.testing import APITestCase, APIViewTestCases, TestCase
|
||||||
@ -151,49 +150,11 @@ class BackgroundTaskTestCase(TestCase):
|
|||||||
self.assertIn('high', str(response.content))
|
self.assertIn('high', str(response.content))
|
||||||
self.assertIn('low', str(response.content))
|
self.assertIn('low', str(response.content))
|
||||||
|
|
||||||
def test_background_tasks_list_default(self):
|
|
||||||
queue = get_queue('default')
|
|
||||||
queue.enqueue(self.dummy_job_default)
|
|
||||||
|
|
||||||
response = self.client.get(reverse('core-api:rqtask-list', args=["default",]), **self.header)
|
|
||||||
self.assertEqual(response.status_code, 200)
|
|
||||||
self.assertIn('BackgroundTaskTestCase.dummy_job_default', str(response.content))
|
|
||||||
|
|
||||||
def test_background_tasks_list_finished(self):
|
|
||||||
queue = get_queue('default')
|
|
||||||
job = queue.enqueue(self.dummy_job_default)
|
|
||||||
|
|
||||||
registry = FinishedJobRegistry(queue.name, queue.connection)
|
|
||||||
registry.add(job, 2)
|
|
||||||
response = self.client.get(reverse('core-api:rqtask-finished', args=["default",]), **self.header)
|
|
||||||
self.assertEqual(response.status_code, 200)
|
|
||||||
self.assertIn(job.id, str(response.content))
|
|
||||||
|
|
||||||
def test_background_tasks_list_failed(self):
|
|
||||||
queue = get_queue('default')
|
|
||||||
job = queue.enqueue(self.dummy_job_default)
|
|
||||||
|
|
||||||
registry = FailedJobRegistry(queue.name, queue.connection)
|
|
||||||
registry.add(job, 2)
|
|
||||||
response = self.client.get(reverse('core-api:rqtask-failed', args=["default"]), **self.header)
|
|
||||||
self.assertEqual(response.status_code, 200)
|
|
||||||
self.assertIn(job.id, str(response.content))
|
|
||||||
|
|
||||||
def test_background_tasks_list_deferred(self):
|
|
||||||
queue = get_queue('default')
|
|
||||||
job = queue.enqueue(self.dummy_job_default)
|
|
||||||
|
|
||||||
registry = DeferredJobRegistry(queue.name, queue.connection)
|
|
||||||
registry.add(job, 2)
|
|
||||||
response = self.client.get(reverse('core-api:rqtask-deferred', args=["default",]), **self.header)
|
|
||||||
self.assertEqual(response.status_code, 200)
|
|
||||||
self.assertIn(job.id, str(response.content))
|
|
||||||
|
|
||||||
def test_background_task(self):
|
def test_background_task(self):
|
||||||
queue = get_queue('default')
|
queue = get_queue('default')
|
||||||
job = queue.enqueue(self.dummy_job_default)
|
job = queue.enqueue(self.dummy_job_default)
|
||||||
|
|
||||||
response = self.client.get(reverse('core-api:rqtaskdetail-detail', args=[job.id]), **self.header)
|
response = self.client.get(reverse('core-api:rqtask-detail', args=[job.id]), **self.header)
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
self.assertIn(str(job.id), str(response.content))
|
self.assertIn(str(job.id), str(response.content))
|
||||||
self.assertIn('origin', str(response.content))
|
self.assertIn('origin', str(response.content))
|
||||||
@ -204,7 +165,7 @@ class BackgroundTaskTestCase(TestCase):
|
|||||||
queue = get_queue('default')
|
queue = get_queue('default')
|
||||||
job = queue.enqueue(self.dummy_job_default)
|
job = queue.enqueue(self.dummy_job_default)
|
||||||
|
|
||||||
response = self.client.post(reverse('core-api:rqtaskdetail-delete', args=[job.id]), **self.header)
|
response = self.client.post(reverse('core-api:rqtask-delete', args=[job.id]), **self.header)
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
self.assertFalse(RQ_Job.exists(job.id, connection=queue.connection))
|
self.assertFalse(RQ_Job.exists(job.id, connection=queue.connection))
|
||||||
queue = get_queue('default')
|
queue = get_queue('default')
|
||||||
@ -220,7 +181,7 @@ class BackgroundTaskTestCase(TestCase):
|
|||||||
self.assertTrue(job.is_failed)
|
self.assertTrue(job.is_failed)
|
||||||
|
|
||||||
# Re-enqueue the failed job and check that its status has been reset
|
# Re-enqueue the failed job and check that its status has been reset
|
||||||
response = self.client.post(reverse('core-api:rqtaskdetail-requeue', args=[job.id]), **self.header)
|
response = self.client.post(reverse('core-api:rqtask-requeue', args=[job.id]), **self.header)
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
job = RQ_Job.fetch(job.id, queue.connection)
|
job = RQ_Job.fetch(job.id, queue.connection)
|
||||||
self.assertFalse(job.is_failed)
|
self.assertFalse(job.is_failed)
|
||||||
@ -240,7 +201,7 @@ class BackgroundTaskTestCase(TestCase):
|
|||||||
self.assertIsNone(job.enqueued_at)
|
self.assertIsNone(job.enqueued_at)
|
||||||
|
|
||||||
# Force-enqueue the deferred job
|
# Force-enqueue the deferred job
|
||||||
response = self.client.post(reverse('core-api:rqtaskdetail-enqueue', args=[job.id]), **self.header)
|
response = self.client.post(reverse('core-api:rqtask-enqueue', args=[job.id]), **self.header)
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
# Check that job's status is updated correctly
|
# Check that job's status is updated correctly
|
||||||
@ -256,7 +217,7 @@ class BackgroundTaskTestCase(TestCase):
|
|||||||
worker.prepare_job_execution(job)
|
worker.prepare_job_execution(job)
|
||||||
|
|
||||||
self.assertEqual(job.get_status(), JobStatus.STARTED)
|
self.assertEqual(job.get_status(), JobStatus.STARTED)
|
||||||
response = self.client.post(reverse('core-api:rqtaskdetail-stop', args=[job.id]), **self.header)
|
response = self.client.post(reverse('core-api:rqtask-stop', args=[job.id]), **self.header)
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
worker.monitor_work_horse(job, queue) # Sets the job as Failed and removes from Started
|
worker.monitor_work_horse(job, queue) # Sets the job as Failed and removes from Started
|
||||||
started_job_registry = StartedJobRegistry(queue.name, connection=queue.connection)
|
started_job_registry = StartedJobRegistry(queue.name, connection=queue.connection)
|
||||||
|
Loading…
Reference in New Issue
Block a user