mirror of https://github.com/jumpserver/jumpserver
				
				
				
			perf: add crontab check min 60m
							parent
							
								
									c8e6e5d38c
								
							
						
					
					
						commit
						9667a3d340
					
				| 
						 | 
				
			
			@ -395,7 +395,7 @@
 | 
			
		|||
    "CriticalLoad": "Serious",
 | 
			
		||||
    "CronExpression": "Complete crontab expression",
 | 
			
		||||
    "Crontab": "Crontab",
 | 
			
		||||
    "CrontabDiffError": "Please ensure that the interval for scheduled execution is no less than ten minutes!",
 | 
			
		||||
    "CrontabDiffError": "Please ensure that the interval for scheduled execution is no less than {minutes} minutes!",
 | 
			
		||||
    "CrontabHelpText": "If both interval and crontab are set, crontab is prioritized",
 | 
			
		||||
    "CrontabHelpTip": "For example: perform every sunday at 03:05 <5 3 * * 0> <br/> use 5-digit linux crontab expressions <min hour day month weekday> (<a href=\"https://tool.lu/crontab/\" target=\"_blank\">online tool</a>) <br/> ",
 | 
			
		||||
    "CrontabOfCreateUpdatePage": "",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -394,7 +394,7 @@
 | 
			
		|||
    "CriticalLoad": "Severo",
 | 
			
		||||
    "CronExpression": "Expresión completa de crontab",
 | 
			
		||||
    "Crontab": "Tareas programadas",
 | 
			
		||||
    "CrontabDiffError": "¡Asegúrese de que el intervalo de tiempo para la ejecución regular no sea inferior a diez minutos!",
 | 
			
		||||
    "CrontabDiffError": "¡Asegúrese de que el intervalo de tiempo para la ejecución regular no sea inferior a {minutes} minutos!",
 | 
			
		||||
    "CrontabHelpText": "Si se configuran simultáneamente interval y crontab, se prioriza crontab",
 | 
			
		||||
    "CrontabHelpTip": "Por ejemplo: ejecuta cada domingo a las 03:05 <5 3 * * 0> <br/> utilizando una expresión de crontab de Linux de 5 posiciones <min hora día mes día de la semana> (<a href=\"https://tool.lu/crontab/\" target=\"_blank\">herramienta en línea</a>) <br/>",
 | 
			
		||||
    "CrontabOfCreateUpdatePage": "Por ejemplo: ejecuta cada domingo a las 03:05 <5 3 * * 0> <br/> utilizando una expresión de crontab de Linux de 5 posiciones <min hora día mes día de la semana> (<a href=\"https://tool.lu/crontab/\" target=\"_blank\">herramienta en línea</a>) <br/> Si se establecen tanto la ejecución programada como la ejecución cíclica, se dará prioridad a la ejecución programada.",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -398,7 +398,7 @@
 | 
			
		|||
    "CriticalLoad": "重大",
 | 
			
		||||
    "CronExpression": "crontab完全表現",
 | 
			
		||||
    "Crontab": "定時実行タスク",
 | 
			
		||||
    "CrontabDiffError": "定期実行の間隔が10分以上であることをご確認ください!",
 | 
			
		||||
    "CrontabDiffError": "定期実行の間隔が{minutes}分以上であることをご確認ください!",
 | 
			
		||||
    "CrontabHelpText": "同時にintervalとcrontabを設定した場合、crontabが優先されます",
 | 
			
		||||
    "CrontabHelpTip": "例えば:日曜日の03:05に実行 <5 3 * * 0> <br/> 5桁のlinux crontab表現を使用<min hour day Month weekday> (<a href=\"https://tool.lu/crontab/\" target=\"_blank\">オンラインツール</a>) <br/>",
 | 
			
		||||
    "CrontabOfCreateUpdatePage": "例:毎週日曜日の03:05に実行 <5 3 * * 0> <br/> 5桁のLinux crontab表現を使用してください <分  時 日 月 星期> (<a href=\"https://tool.lu/crontab/\" target=\"_blank\">オンラインツール</a>) <br/> 定期的な実行と周期的な実行が設定されている場合、定期的な実行が優先されます",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -395,7 +395,7 @@
 | 
			
		|||
    "CriticalLoad": "Grave",
 | 
			
		||||
    "CronExpression": "Expressão Completa do Crontab",
 | 
			
		||||
    "Crontab": "Tarefas programadas",
 | 
			
		||||
    "CrontabDiffError": "Por favor, certifique-se de que o intervalo de tempo para execução regular não seja menor que dez minutos!",
 | 
			
		||||
    "CrontabDiffError": "Por favor, certifique-se de que o intervalo de tempo para execução regular não seja menor que {minutes} minutos!",
 | 
			
		||||
    "CrontabHelpText": "Se interval e crontab estiverem configurados ao mesmo tempo, crontab terá prioridade",
 | 
			
		||||
    "CrontabHelpTip": "Por exemplo: execute todos os domingos às 03:05 <5 3 * * 0> <br/> Use a expressão linux crontab de 5 posições <min hour day month weekday> (<a href=\"https://tool.lu/crontab/\" target=\"_blank\">Ferramenta online</a>) <br/>",
 | 
			
		||||
    "CrontabOfCreateUpdatePage": "Por exemplo: Execute todos os domingos às 03:05 <5 3 * * 0> <br/> Use a expressão crontab Linux de 5 dígitos <Minuto Hora Dia Mês Dia da Semana> (<a href=\"https://tool.lu/crontab/\" target=\"_blank\">Ferramenta online</a>) <br/> Se a execução periódica e a execução regular forem definidas ao mesmo tempo, a execução regular terá prioridade",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -394,7 +394,7 @@
 | 
			
		|||
    "CriticalLoad": "Серьезно",
 | 
			
		||||
    "CronExpression": "Полное выражение crontab",
 | 
			
		||||
    "Crontab": "Запланированные задачи",
 | 
			
		||||
    "CrontabDiffError": "Пожалуйста, убедитесь, что интервал выполнения регулярно составляет не менее десяти минут!",
 | 
			
		||||
    "CrontabDiffError": "Пожалуйста, убедитесь, что интервал выполнения регулярно составляет не менее {minutes} минут!",
 | 
			
		||||
    "CrontabHelpText": "Если одновременно установлены интервал и crontab, предпочтение отдается crontab",
 | 
			
		||||
    "CrontabHelpTip": "например: выполнять каждое воскресенье в 03:05 <5 3 * * 0> <br/> использовать 5-значное выражение crontab Linux <минуты часы день месяц день_недели> (<a href=\"https://tool.lu/crontab/\" target=\"_blank\">онлайн инструмент</a>) <br/>",
 | 
			
		||||
    "CrontabOfCreateUpdatePage": "Например: выполнять каждое воскресенье в 03:05 <5 3 * * 0> <br/> Использовать 5-значное выражение crontab Linux <минуты часы день месяц день_недели> (<a href=\"https://tool.lu/crontab/\" target=\"_blank\">онлайн инструмент</a>) <br/> Если одновременно установлены периодическое выполнение и циклическое выполнение, приоритет отдается периодическому выполнению",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -394,7 +394,7 @@
 | 
			
		|||
    "CriticalLoad": "严重",
 | 
			
		||||
    "CronExpression": "crontab完整表达式",
 | 
			
		||||
    "Crontab": "定时任务",
 | 
			
		||||
    "CrontabDiffError": "请确保定期执行的时间间隔不少于十分钟!",
 | 
			
		||||
    "CrontabDiffError": "请确保定期执行的时间间隔不少于 {minutes} 分钟!",
 | 
			
		||||
    "CrontabHelpText": "如果同时设置了 interval 和 crontab,则优先考虑 crontab",
 | 
			
		||||
    "CrontabHelpTip": "例如:每周日 03:05 执行 <5 3 * * 0> <br/> 使用 5 位 linux crontab 表达式 <min hour day Month weekday> (<a href=\"https://tool.lu/crontab/\" target=\"_blank\">在线工具</a>) <br/>",
 | 
			
		||||
    "CrontabOfCreateUpdatePage": "例如:每周日 03:05 执行 <5 3 * * 0> <br/> 使用5位 Linux crontab 表达式 <分 时 日 月 星期> (<a href=\"https://tool.lu/crontab/\" target=\"_blank\">在线工具</a>) <br/> 如果同时设置了定期执行和周期执行,优先使用定期执行",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -398,7 +398,7 @@
 | 
			
		|||
    "CriticalLoad": "嚴重",
 | 
			
		||||
    "CronExpression": "crontab完整表達式",
 | 
			
		||||
    "Crontab": "定時任務",
 | 
			
		||||
    "CrontabDiffError": "請確保定期執行的時間間隔不少於十分鐘!",
 | 
			
		||||
    "CrontabDiffError": "請確保定期執行的時間間隔不少於 {minutes} 分鐘!",
 | 
			
		||||
    "CrontabHelpText": "如果同時設定了 interval 和 crontab,則優先考慮 crontab",
 | 
			
		||||
    "CrontabHelpTip": "例如:每週日 03:05 執行 <5 3 * * 0> <br/> 使用 5 位 linux crontab 表達式 <min hour day Month weekday> (<a href=\"https://tool.lu/crontab/\" target=\"_blank\">線上工具</a>) <br/>",
 | 
			
		||||
    "CrontabOfCreateUpdatePage": "例如:每週日 03:05 執行 <5 3 * * 0> <br/> 使用5位 Linux crontab 表達式 <分 時 日 月 星期> (<a href=\"https://tool.lu/crontab/\" target=\"_blank\">線上工具</a>) <br/> 如果同時設置了定期執行和週期執行,優先使用定期執行",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -188,6 +188,10 @@ class PeriodTaskSerializerMixin(serializers.Serializer):
 | 
			
		|||
        if isinstance(crontab, str) and len(crontab.strip().split()) != 5:
 | 
			
		||||
            msg = _('* Please enter a valid crontab expression')
 | 
			
		||||
            raise serializers.ValidationError(msg)
 | 
			
		||||
 | 
			
		||||
        crontab = crontab.strip().split()
 | 
			
		||||
        if '*' in crontab[0]:
 | 
			
		||||
            raise serializers.ValidationError(_("Crontab minute must not contain '*'"))
 | 
			
		||||
        return crontab
 | 
			
		||||
 | 
			
		||||
    def validate_interval(self, interval):
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue