From 6e7446f53060f760e1517deb8722be5445d6c7ca Mon Sep 17 00:00:00 2001 From: ibuler Date: Wed, 27 Mar 2019 11:12:34 +0800 Subject: [PATCH] =?UTF-8?q?[Update]=20=E5=A2=9E=E5=8A=A0task=E6=9C=80?= =?UTF-8?q?=E5=A4=A7=E5=85=81=E8=AE=B8=E4=BA=8B=E4=BB=B6=EF=BC=8C=E5=B9=B6?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=91=BD=E4=BB=A4=E6=9C=80=E5=A4=A7=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E6=97=B6=E9=97=B4=E4=B8=BA60s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/common/permissions.py | 8 ++++++ apps/jumpserver/settings.py | 1 + apps/locale/zh/LC_MESSAGES/django.mo | Bin 69760 -> 69791 bytes apps/locale/zh/LC_MESSAGES/django.po | 24 ++++++++-------- apps/ops/tasks.py | 8 ++++-- .../ops/command_execution_create.html | 11 +++++-- apps/ops/views/command.py | 5 ++-- apps/perms/utils.py | 27 +++++++++++------- 8 files changed, 54 insertions(+), 30 deletions(-) diff --git a/apps/common/permissions.py b/apps/common/permissions.py index 10ef329ed..67154b228 100644 --- a/apps/common/permissions.py +++ b/apps/common/permissions.py @@ -70,6 +70,14 @@ class IsCurrentUserOrReadOnly(permissions.BasePermission): return obj == request.user +class LoginRequiredMixin(UserPassesTestMixin): + def test_func(self): + if self.request.user.is_authenticated: + return True + else: + return False + + class AdminUserRequiredMixin(UserPassesTestMixin): def test_func(self): if not self.request.user.is_authenticated: diff --git a/apps/jumpserver/settings.py b/apps/jumpserver/settings.py index 02e48c3c4..d516c097c 100644 --- a/apps/jumpserver/settings.py +++ b/apps/jumpserver/settings.py @@ -475,6 +475,7 @@ CELERY_WORKER_REDIRECT_STDOUTS = True CELERY_WORKER_REDIRECT_STDOUTS_LEVEL = "INFO" # CELERY_WORKER_HIJACK_ROOT_LOGGER = True CELERY_WORKER_MAX_TASKS_PER_CHILD = 40 +CELERY_TASK_SOFT_TIME_LIMIT = 3600 # Cache use redis CACHES = { diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index 7196bfa06fc852332f3287f7f17f6c56a1276e04..3f02ced3b75f39c7e05af529afbaa4b798798876 100644 GIT binary patch delta 19199 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 U%2mpiOUaS4u|mqx-!2sWKMaQfxc~qF diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po index 9c40a44b2..dd120a909 100644 --- a/apps/locale/zh/LC_MESSAGES/django.po +++ b/apps/locale/zh/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Jumpserver 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-03-22 17:12+0800\n" +"POT-Creation-Date: 2019-03-27 10:57+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: ibuler \n" "Language-Team: Jumpserver team\n" @@ -2434,35 +2434,35 @@ msgstr "任务列表" msgid "Go" msgstr "" -#: ops/templates/ops/command_execution_create.html:144 +#: ops/templates/ops/command_execution_create.html:148 msgid "Selected assets" msgstr "已选择资产" -#: ops/templates/ops/command_execution_create.html:147 +#: ops/templates/ops/command_execution_create.html:151 msgid "In total" msgstr "总共" -#: ops/templates/ops/command_execution_create.html:182 +#: ops/templates/ops/command_execution_create.html:186 msgid "" "Select the left asset, select the running system user, execute command in " "batch" msgstr "选择左侧资产, 选择运行的系统用户,批量执行命令" -#: ops/templates/ops/command_execution_create.html:200 +#: ops/templates/ops/command_execution_create.html:204 msgid "Unselected assets" msgstr "没有选中资产" -#: ops/templates/ops/command_execution_create.html:204 +#: ops/templates/ops/command_execution_create.html:208 msgid "No input command" msgstr "没有输入命令" -#: ops/templates/ops/command_execution_create.html:208 +#: ops/templates/ops/command_execution_create.html:212 msgid "No system user was selected" msgstr "没有选择系统用户" -#: ops/templates/ops/command_execution_create.html:253 +#: ops/templates/ops/command_execution_create.html:257 msgid "Pending" -msgstr "" +msgstr "等待" #: ops/templates/ops/command_execution_list.html:64 msgid "Finished" @@ -2521,7 +2521,7 @@ msgstr "更新任务内容: {}" #: ops/views/adhoc.py:44 ops/views/adhoc.py:69 ops/views/adhoc.py:82 #: ops/views/adhoc.py:95 ops/views/adhoc.py:108 ops/views/adhoc.py:121 -#: ops/views/adhoc.py:134 ops/views/command.py:43 ops/views/command.py:67 +#: ops/views/adhoc.py:134 ops/views/command.py:44 ops/views/command.py:68 msgid "Ops" msgstr "作业中心" @@ -2533,11 +2533,11 @@ msgstr "任务列表" msgid "Task run history" msgstr "执行历史" -#: ops/views/command.py:44 +#: ops/views/command.py:45 msgid "Command execution list" msgstr "命令执行列表" -#: ops/views/command.py:68 templates/_nav_user.html:9 +#: ops/views/command.py:69 templates/_nav_user.html:9 msgid "Command execution" msgstr "命令执行" diff --git a/apps/ops/tasks.py b/apps/ops/tasks.py index 9de1d0437..aef8ea055 100644 --- a/apps/ops/tasks.py +++ b/apps/ops/tasks.py @@ -4,6 +4,7 @@ import subprocess from django.conf import settings from celery import shared_task, subtask +from celery.exceptions import SoftTimeLimitExceeded from django.utils import timezone from common.utils import get_logger, get_object_or_none @@ -38,11 +39,14 @@ def run_ansible_task(tid, callback=None, **kwargs): logger.error("No task found") -@shared_task +@shared_task(soft_time_limit=60) def run_command_execution(cid, **kwargs): execution = get_object_or_none(CommandExecution, id=cid) if execution: - execution.run() + try: + execution.run() + except SoftTimeLimitExceeded: + print("HLLL") else: logger.error("Not found the execution id: {}".format(cid)) diff --git a/apps/ops/templates/ops/command_execution_create.html b/apps/ops/templates/ops/command_execution_create.html index 219fc218d..8352d1607 100644 --- a/apps/ops/templates/ops/command_execution_create.html +++ b/apps/ops/templates/ops/command_execution_create.html @@ -82,6 +82,7 @@