未验证 提交 2d10e130 编写于 作者: baltery's avatar baltery 提交者: GitHub

Merge pull request #1171 from jumpserver/dev

Dev
...@@ -49,7 +49,7 @@ class Asset(models.Model): ...@@ -49,7 +49,7 @@ class Asset(models.Model):
ip = models.GenericIPAddressField(max_length=32, verbose_name=_('IP'), db_index=True) ip = models.GenericIPAddressField(max_length=32, verbose_name=_('IP'), db_index=True)
hostname = models.CharField(max_length=128, unique=True, verbose_name=_('Hostname')) hostname = models.CharField(max_length=128, unique=True, verbose_name=_('Hostname'))
port = models.IntegerField(default=22, verbose_name=_('Port')) port = models.IntegerField(default=22, verbose_name=_('Port'))
domain = models.ForeignKey("assets.Domain", null=True, blank=True, related_name='assets', verbose_name=_("Domain")) domain = models.ForeignKey("assets.Domain", null=True, blank=True, related_name='assets', verbose_name=_("Domain"), on_delete=models.SET_NULL)
nodes = models.ManyToManyField('assets.Node', default=default_node, related_name='assets', verbose_name=_("Nodes")) nodes = models.ManyToManyField('assets.Node', default=default_node, related_name='assets', verbose_name=_("Nodes"))
is_active = models.BooleanField(default=True, verbose_name=_('Is active')) is_active = models.BooleanField(default=True, verbose_name=_('Is active'))
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
import os import os
import datetime import datetime
import sys import sys
import time
from django.conf import settings from django.conf import settings
from django.utils import timezone from django.utils import timezone
...@@ -53,10 +54,19 @@ def after_task_publish_signal_handler(sender, headers=None, **kwargs): ...@@ -53,10 +54,19 @@ def after_task_publish_signal_handler(sender, headers=None, **kwargs):
CeleryTask.objects.create( CeleryTask.objects.create(
id=headers["id"], status=CeleryTask.WAITING, name=headers["task"] id=headers["id"], status=CeleryTask.WAITING, name=headers["task"]
) )
cache.set(headers["id"], True, 3600)
@task_prerun.connect @task_prerun.connect
def pre_run_task_signal_handler(sender, task_id=None, task=None, **kwargs): def pre_run_task_signal_handler(sender, task_id=None, task=None, **kwargs):
time.sleep(0.1)
for i in range(5):
if cache.get(task_id, False):
break
else:
time.sleep(0.1)
continue
t = get_object_or_none(CeleryTask, id=task_id) t = get_object_or_none(CeleryTask, id=task_id)
if t is None: if t is None:
logger.warn("Not get the task: {}".format(task_id)) logger.warn("Not get the task: {}".format(task_id))
......
...@@ -28,7 +28,7 @@ class UserViewSet(IDInFilterMixin, BulkModelViewSet): ...@@ -28,7 +28,7 @@ class UserViewSet(IDInFilterMixin, BulkModelViewSet):
queryset = User.objects.exclude(role="App") queryset = User.objects.exclude(role="App")
# queryset = User.objects.all().exclude(role="App").order_by("date_joined") # queryset = User.objects.all().exclude(role="App").order_by("date_joined")
serializer_class = UserSerializer serializer_class = UserSerializer
permission_classes = (IsSuperUser, IsAuthenticated) permission_classes = (IsSuperUserOrAppUser, IsAuthenticated)
filter_fields = ('username', 'email', 'name', 'id') filter_fields = ('username', 'email', 'name', 'id')
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册