mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-29 03:46:25 -06:00
7848 queue detail view
This commit is contained in:
parent
7207180fcf
commit
cbba650a9f
@ -1,4 +1,5 @@
|
||||
from rest_framework import serializers
|
||||
from rest_framework.reverse import reverse
|
||||
|
||||
__all__ = (
|
||||
'BackgroundTaskSerializer',
|
||||
@ -50,7 +51,7 @@ class BackgroundTaskSerializer(serializers.Serializer):
|
||||
|
||||
class BackgroundQueueSerializer(serializers.Serializer):
|
||||
name = serializers.CharField()
|
||||
# Note: Queue names are not url safe so not returning a url field
|
||||
url = serializers.SerializerMethodField()
|
||||
jobs = serializers.IntegerField()
|
||||
oldest_job_timestamp = serializers.CharField()
|
||||
index = serializers.IntegerField()
|
||||
@ -62,6 +63,9 @@ class BackgroundQueueSerializer(serializers.Serializer):
|
||||
failed_jobs = serializers.IntegerField()
|
||||
scheduled_jobs = serializers.IntegerField()
|
||||
|
||||
def get_url(self, obj):
|
||||
return reverse('core-api:rqqueue-detail', args=[obj['name']], request=self.context.get("request"))
|
||||
|
||||
|
||||
class BackgroundWorkerSerializer(serializers.Serializer):
|
||||
name = serializers.CharField()
|
||||
|
@ -119,6 +119,19 @@ class BackgroundQueueViewSet(BaseRQViewSet):
|
||||
def get_data(self):
|
||||
return get_statistics(run_maintenance_tasks=True)["queues"]
|
||||
|
||||
@extend_schema(responses={200: OpenApiTypes.OBJECT})
|
||||
def retrieve(self, request, name):
|
||||
data = self.get_data()
|
||||
if not data:
|
||||
raise Http404
|
||||
|
||||
for queue in data:
|
||||
if queue['name'] == name:
|
||||
serializer = self.serializer_class(queue, context={'request': request})
|
||||
return Response(serializer.data)
|
||||
|
||||
raise Http404
|
||||
|
||||
|
||||
class BackgroundWorkerViewSet(BaseRQViewSet):
|
||||
"""
|
||||
|
Loading…
Reference in New Issue
Block a user