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)
'tz', (1536, 23)
'utc_enabled', (1024, 4)
'entries', (3072, 791)
'entries', (3072, 845)

Binary file not shown.

View File

@ -1,4 +1,4 @@
'__version__', (512, 15)
'tz', (1536, 23)
'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': {
'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)
},
# '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':{
'task': 'safesite.tasks.updateTzzs',
'schedule': crontab(hour=4, minute=30, day_of_week=1),

View File

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

View File

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