This commit is contained in:
caoqianming 2020-09-07 18:33:03 +08:00
parent fc3d2dba05
commit 9982ac3323
6 changed files with 21 additions and 12 deletions

Binary file not shown.

View File

@ -1 +1 @@
9068
9120

View File

@ -1,2 +1,4 @@
@echo off
call venv\scripts\activate.bat
celery -A mysite beat -l info
pause

View File

@ -1,2 +1,4 @@
@echo off
call venv\scripts\activate.bat
celery -A mysite worker -l info -P eventlet
pause

View File

@ -288,38 +288,41 @@ def gridtasksend():
# for i in GridTaskSet.objects.filter(is_paused=False, last_send____gte=time2):
for i in GridTaskSet.objects.filter(is_paused=False):
sendGridtask(i)
import arrow
from dateutil.relativedelta import *
def shifttime(number, type_, time1):
if type_ == 'hours':
return time1.shift(hours=number)
return time1 + relativedelta(hours=+number)
elif type_=='days':
return time1.shift(days=number)
return time1 + relativedelta(days=+number)
elif type_=='weeks':
return time1.shift(weeks=number)
return time1 + relativedelta(weeks=+number)
elif type_=='months':
return time1.shift(months=number)
return time1 + relativedelta(months=+number)
elif type_=='years':
return time1.shift(years=number)
return time1 + relativedelta(years=+number)
elif type_=='seconds':
return time1.shift(seconds=number)
return time1 + relativedelta(seconds=+number)
def sendGridtask(obj):
nowtime = arrow.now()
nowtime = datetime.datetime.now()
schedule = obj.schedule
if 'interval' in schedule and schedule['interval']:
number, type_ = schedule['interval'].split(',')
start_task = arrow.get(obj.start_task, 'Asia/Shanghai')
print(nowtime, start_task)
start_task = obj.start_task
m = shifttime(number, type_, start_task)
print(m)
if nowtime >= m:
print('ok')
newm = shifttime(number, type_, nowtime)
RiskActTask.objects.filter(taskset=obj, usable=1).update(usable=0)
RiskActTask.objects.create(riskact=obj.riskact,taskexpire = newm.datetime,taskadd=nowtime.datetime,istask=1,taskset=obj,tasknote=obj.note,user=obj.user)
RiskActTask.objects.create(riskact=obj.riskact,taskexpire = newm,taskadd=nowtime.datetime,istask=1,taskset=obj,tasknote=obj.note,user=obj.user)
obj.start_task = nowtime
obj.count = obj.count + 1
obj.save()
else:
print('no')
@shared_task
def checktask():

View File

@ -7104,6 +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()))
return JsonResponse({'code': 1})
elif a == 'toggle':
obj = GridTaskSet.objects.get(id=req.GET.get('id'))