gridtaskset

This commit is contained in:
caoqianming 2020-09-07 23:20:56 +08:00
parent 9982ac3323
commit 290f994b0c
7 changed files with 38 additions and 38 deletions

View File

@ -1,4 +1,4 @@
'__version__', (512, 15) '__version__', (512, 15)
'tz', (1536, 23) 'tz', (1536, 23)
'utc_enabled', (1024, 4) 'utc_enabled', (1024, 4)
'entries', (3072, 791) 'entries', (3072, 845)

Binary file not shown.

View File

@ -1,4 +1,4 @@
'__version__', (512, 15) '__version__', (512, 15)
'tz', (1536, 23) 'tz', (1536, 23)
'utc_enabled', (1024, 4) 'utc_enabled', (1024, 4)
'entries', (3072, 791) 'entries', (3072, 845)

View File

@ -1 +1 @@
9120 2664

View File

@ -35,19 +35,19 @@ app.conf.update(
}, },
'grid-task': { 'grid-task': {
'task': 'safesite.tasks.gridtasksend', 'task': 'safesite.tasks.gridtasksend',
'schedule': timedelta(seconds=10), 'schedule': timedelta(minutes=1),
#'args': (5, 6)
},
'riskact-task': {
'task': 'safesite.tasks.riskacttask',
'schedule': timedelta(minutes=1),
#'args': (5, 6)
},
'check-task': {
'task': 'safesite.tasks.checktask',
'schedule': timedelta(minutes=1),
#'args': (5, 6) #'args': (5, 6)
}, },
# 'riskact-task': {
# 'task': 'safesite.tasks.riskacttask',
# 'schedule': timedelta(minutes=1),
# #'args': (5, 6)
# },
# 'check-task': {
# 'task': 'safesite.tasks.checktask',
# 'schedule': timedelta(minutes=1),
# #'args': (5, 6)
# },
'updatetzzs-task':{ 'updatetzzs-task':{
'task': 'safesite.tasks.updateTzzs', 'task': 'safesite.tasks.updateTzzs',
'schedule': crontab(hour=4, minute=30, day_of_week=1), 'schedule': crontab(hour=4, minute=30, day_of_week=1),

View File

@ -16,7 +16,6 @@ import time
dirname = settings.BASE_DIR +'/safesite/' dirname = settings.BASE_DIR +'/safesite/'
def getcs(companyid):#获取公司相关参数设置 def getcs(companyid):#获取公司相关参数设置
print(companyid)
return Yjsetup.objects.filter(usecomp__partid=companyid).values()[0] return Yjsetup.objects.filter(usecomp__partid=companyid).values()[0]
def gettime(x=datetime.datetime.now()): def gettime(x=datetime.datetime.now()):
@ -285,25 +284,27 @@ def riskacttask():
def gridtasksend(): def gridtasksend():
nowtime = datetime.datetime.now() nowtime = datetime.datetime.now()
time2 = nowtime + datetime.timedelta(minutes=50) time2 = nowtime + datetime.timedelta(minutes=50)
RiskActTask.objects.filter(taskexpire__lte=nowtime, usable=1).update(usable=0)
# for i in GridTaskSet.objects.filter(is_paused=False, last_send____gte=time2): # for i in GridTaskSet.objects.filter(is_paused=False, last_send____gte=time2):
for i in GridTaskSet.objects.filter(is_paused=False): for i in GridTaskSet.objects.filter(is_paused=False, start_task____gte=time2):
sendGridtask(i) sendGridtask(i)
from dateutil.relativedelta import * from dateutil.relativedelta import *
def shifttime(number, type_, time1): # def shifttime(number, type_, time1):
if type_ == 'hours': # if type_ is 'hours':
return time1 + relativedelta(hours=+number) # return time1 + relativedelta(hours=+number)
elif type_=='days': # elif type_ is 'days':
return time1 + relativedelta(days=+number) # return time1 + relativedelta(days=+number)
elif type_=='weeks': # elif type_ is 'weeks':
return time1 + relativedelta(weeks=+number) # return time1 + relativedelta(weeks=+number)
elif type_=='months': # elif type_ is 'months':
return time1 + relativedelta(months=+number) # return time1 + relativedelta(months=+number)
elif type_=='years': # elif type_ is 'years':
return time1 + relativedelta(years=+number) # return time1 + relativedelta(years=+number)
elif type_=='seconds': # elif type_ is 'seconds':
return time1 + relativedelta(seconds=+number) # print(time1, time1 + relativedelta(seconds=+number))
# return time1 + relativedelta(seconds=+number)
def sendGridtask(obj): def sendGridtask(obj):
nowtime = datetime.datetime.now() nowtime = datetime.datetime.now()
@ -311,18 +312,16 @@ def sendGridtask(obj):
if 'interval' in schedule and schedule['interval']: if 'interval' in schedule and schedule['interval']:
number, type_ = schedule['interval'].split(',') number, type_ = schedule['interval'].split(',')
start_task = obj.start_task start_task = obj.start_task
m = shifttime(number, type_, start_task) m = start_task + relativedelta({type_:int(number)})
print(m)
if nowtime >= m: if nowtime >= m:
print('ok') newm = nowtime + relativedelta({type_:int(number)})
newm = shifttime(number, type_, nowtime)
RiskActTask.objects.filter(taskset=obj, usable=1).update(usable=0) RiskActTask.objects.filter(taskset=obj, usable=1).update(usable=0)
RiskActTask.objects.create(riskact=obj.riskact,taskexpire = newm,taskadd=nowtime.datetime,istask=1,taskset=obj,tasknote=obj.note,user=obj.user) RiskActTask.objects.create(riskact=obj.riskact,taskexpire = newm,taskadd=nowtime,istask=1,taskset=obj,tasknote=obj.note,user=obj.user)
obj.start_task = nowtime obj.start_task = nowtime
obj.count = obj.count + 1 obj.count = obj.count + 1
obj.save() obj.save()
else: else:
print('no') pass
@shared_task @shared_task
def checktask(): def checktask():

View File

@ -7104,8 +7104,8 @@ def apigridtaskset(req):
obj.start_task = data['start_task'] obj.start_task = data['start_task']
obj.schedule = data['schedule'] obj.schedule = data['schedule']
obj.save() obj.save()
from .tasks import shifttime # from .tasks import shifttime
print(shifttime(10, 'seconds', datetime.now())) # print(shifttime(10, 'seconds', datetime.now()))
return JsonResponse({'code': 1}) return JsonResponse({'code': 1})
elif a == 'toggle': elif a == 'toggle':
obj = GridTaskSet.objects.get(id=req.GET.get('id')) obj = GridTaskSet.objects.get(id=req.GET.get('id'))
@ -7482,11 +7482,12 @@ def apiriskcheck2(req):
# objs = RiskActTask.objects.filter( # objs = RiskActTask.objects.filter(
# riskact__id=data['riskact'], usable=1, user=None, istask=1) # 匹配未处理的任务 # riskact__id=data['riskact'], usable=1, user=None, istask=1) # 匹配未处理的任务
objs = RiskActTask.objects.filter( objs = RiskActTask.objects.filter(
riskact__id=data['riskact'], usable=1, user=user, istask=1, nowtime__gte = taskadd, nowtime__lte = taskexpire) # 匹配本人未处理的任务 riskact__id=data['riskact'], usable=1, user=user, istask=1) # 匹配本人未处理的任务
if objs.exists(): if objs.exists():
obj = objs[0] obj = objs[0]
obj.user = user obj.user = user
obj.taskdo = nowtime obj.taskdo = nowtime
obj.usable = 0
obj.save() obj.save()
else: else:
obj = RiskActTask() obj = RiskActTask()