7848 queue detail view

This commit is contained in:
Arthur Hanson 2024-11-19 09:50:22 -08:00
parent c6482d88e2
commit a44776e51b
2 changed files with 8 additions and 2 deletions

View File

@ -1,4 +1,5 @@
from rest_framework import serializers from rest_framework import serializers
from rest_framework.reverse import reverse
__all__ = ( __all__ = (
'BackgroundTaskSerializer', 'BackgroundTaskSerializer',
@ -46,6 +47,7 @@ class BackgroundTaskSerializer(serializers.Serializer):
class BackgroundQueueSerializer(serializers.Serializer): class BackgroundQueueSerializer(serializers.Serializer):
name = serializers.CharField() name = serializers.CharField()
url = serializers.SerializerMethodField()
jobs = serializers.IntegerField() jobs = serializers.IntegerField()
oldest_job_timestamp = serializers.CharField() oldest_job_timestamp = serializers.CharField()
index = serializers.IntegerField() index = serializers.IntegerField()
@ -58,6 +60,10 @@ class BackgroundQueueSerializer(serializers.Serializer):
failed_jobs = serializers.IntegerField() failed_jobs = serializers.IntegerField()
scheduled_jobs = serializers.IntegerField() scheduled_jobs = serializers.IntegerField()
def get_url(self, obj):
request = self.context.get('request')
return reverse('core-api:rqqueue-detail', kwargs={'name': obj['name']}, request=request)
class BackgroundWorkerSerializer(serializers.Serializer): class BackgroundWorkerSerializer(serializers.Serializer):
name = serializers.CharField() name = serializers.CharField()

View File

@ -124,8 +124,8 @@ class QueueViewSet(BaseRQListView):
raise Http404 raise Http404
for queue in queues: for queue in queues:
if queue.name == name: if queue['name'] == name:
return Response(self.serializer_class(data, context={'request': request})) return Response(self.serializer_class(queue, context={'request': request}).data)
raise Http404 raise Http404