diff --git a/celerybeat-schedule.bak b/celerybeat-schedule.bak index c6763fb5..bce91d48 100644 --- a/celerybeat-schedule.bak +++ b/celerybeat-schedule.bak @@ -1,4 +1,4 @@ '__version__', (512, 15) 'tz', (1536, 23) 'utc_enabled', (1024, 4) -'entries', (3072, 791) +'entries', (3072, 845) diff --git a/celerybeat-schedule.dat b/celerybeat-schedule.dat index c1749ee6..dff27504 100644 Binary files a/celerybeat-schedule.dat and b/celerybeat-schedule.dat differ diff --git a/celerybeat-schedule.dir b/celerybeat-schedule.dir index c6763fb5..bce91d48 100644 --- a/celerybeat-schedule.dir +++ b/celerybeat-schedule.dir @@ -1,4 +1,4 @@ '__version__', (512, 15) 'tz', (1536, 23) 'utc_enabled', (1024, 4) -'entries', (3072, 791) +'entries', (3072, 845) diff --git a/celerybeat.pid b/celerybeat.pid index 2a4ff1b0..ec65132f 100644 --- a/celerybeat.pid +++ b/celerybeat.pid @@ -1 +1 @@ -9120 +2664 diff --git a/mysite/celery.py b/mysite/celery.py index 61fd952b..922ff46c 100644 --- a/mysite/celery.py +++ b/mysite/celery.py @@ -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), diff --git a/safesite/tasks.py b/safesite/tasks.py index d5f1827c..c5e4a4fc 100644 --- a/safesite/tasks.py +++ b/safesite/tasks.py @@ -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(): diff --git a/safesite/views.py b/safesite/views.py index a5466e6b..a08654a9 100644 --- a/safesite/views.py +++ b/safesite/views.py @@ -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()