mirror of https://github.com/jumpserver/jumpserver
[Update] 暂时不存status数据
parent
d68a4d9cae
commit
9bddc29da4
|
@ -1,6 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
|
|
||||||
|
from django.core.cache import cache
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from rest_framework_bulk.serializers import BulkListSerializer
|
from rest_framework_bulk.serializers import BulkListSerializer
|
||||||
|
@ -28,19 +29,8 @@ class TerminalSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_is_alive(obj):
|
def get_is_alive(obj):
|
||||||
try:
|
key = StatusSerializer.CACHE_KEY_PREFIX + str(obj.id)
|
||||||
status = obj.status_set.latest()
|
return cache.get(key)
|
||||||
except Status.DoesNotExist:
|
|
||||||
status = None
|
|
||||||
|
|
||||||
if not status:
|
|
||||||
return False
|
|
||||||
|
|
||||||
delta = timezone.now() - status.date_created
|
|
||||||
if delta < timezone.timedelta(seconds=600):
|
|
||||||
return True
|
|
||||||
else:
|
|
||||||
return False
|
|
||||||
|
|
||||||
|
|
||||||
class SessionSerializer(BulkSerializerMixin, serializers.ModelSerializer):
|
class SessionSerializer(BulkSerializerMixin, serializers.ModelSerializer):
|
||||||
|
@ -57,11 +47,18 @@ class SessionSerializer(BulkSerializerMixin, serializers.ModelSerializer):
|
||||||
|
|
||||||
|
|
||||||
class StatusSerializer(serializers.ModelSerializer):
|
class StatusSerializer(serializers.ModelSerializer):
|
||||||
|
CACHE_KEY_PREFIX = 'terminal_status_'
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
model = Status
|
model = Status
|
||||||
|
|
||||||
|
def create(self, validated_data):
|
||||||
|
terminal_id = str(validated_data['terminal'].id)
|
||||||
|
key = self.CACHE_KEY_PREFIX + terminal_id
|
||||||
|
cache.set(key, 1, 60)
|
||||||
|
return validated_data
|
||||||
|
|
||||||
|
|
||||||
class TaskSerializer(BulkSerializerMixin, serializers.ModelSerializer):
|
class TaskSerializer(BulkSerializerMixin, serializers.ModelSerializer):
|
||||||
|
|
||||||
|
|
|
@ -93,6 +93,9 @@ class TerminalAcceptView(SuperUserRequiredMixin, JSONResponseMixin, UpdateView):
|
||||||
|
|
||||||
|
|
||||||
class TerminalConnectView(LoginRequiredMixin, SuperUserRequiredMixin, DetailView):
|
class TerminalConnectView(LoginRequiredMixin, SuperUserRequiredMixin, DetailView):
|
||||||
|
"""
|
||||||
|
Abandon
|
||||||
|
"""
|
||||||
template_name = 'flash_message_standalone.html'
|
template_name = 'flash_message_standalone.html'
|
||||||
model = Terminal
|
model = Terminal
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue