forked from hequan2017/chain
-
Notifications
You must be signed in to change notification settings - Fork 0
/
form.py
70 lines (50 loc) · 1.76 KB
/
form.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
from django import forms
from django_celery_beat.models import CrontabSchedule, PeriodicTask, IntervalSchedule
class CrontabScheduleForm(forms.ModelForm):
class Meta:
model = CrontabSchedule
fields = '__all__'
labels = {
'minute': '分',
'hour': '时',
'day_of_week': '周',
'day_of_month': '月',
'month_of_year': '年',
}
class IntervalScheduleForm(forms.ModelForm):
class Meta:
model = IntervalSchedule
fields = '__all__'
labels = {
'every': '间隔',
'period': '时间单位',
}
class PeriodicTasksForm(forms.ModelForm):
task = forms.CharField(
label="任务名字",
initial='tasks.tasks.ansbile_tools_crontab',
required=True,
)
class Meta:
model = PeriodicTask
fields = ['task','name','interval','crontab','args','kwargs','enabled','expires','description']
widgets = {
'expires': forms.DateTimeInput(
attrs={'type': 'date', },
),
}
labels = {
'enabled': '开启',
'interval': '时间间隔',
'crontab': '定时时间',
'args': 'args 参数',
'kwargs': 'kwargs 参数',
"expires":'到期时间' ,
'description': "描述"
}
help_texts = {
"name": "* 必填 任务名字",
"args": '* 传入脚本名字 及 主机名字 ,例如: ["pwd","dev"] 多台主机 后面顺延',
"interval":'* 时间间隔 和 定时时间 只能二选一',
'task': '* 必填 具体任务在tasks/tasks.py 例如: tasks.tasks.ansbile_tools [assets, tools, modules] ',
}