From 290f994b0c088f69d06d8498e53c2ef2e9d61d69 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Mon, 7 Sep 2020 23:20:56 +0800 Subject: [PATCH] gridtaskset --- celerybeat-schedule.bak | 2 +- celerybeat-schedule.dat | Bin 4133 -> 4133 bytes celerybeat-schedule.dir | 2 +- celerybeat.pid | 2 +- mysite/celery.py | 22 ++++++++++----------- safesite/tasks.py | 41 ++++++++++++++++++++-------------------- safesite/views.py | 7 ++++--- 7 files changed, 38 insertions(+), 38 deletions(-) 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 c1749ee641b1b6a928cca1222f302149512a99e1..dff27504890df7fab54f691daf595e5251b390b1 100644 GIT binary patch delta 501 zcmZvYTQ37a7>2i^s>|9Yq7JPd9P3nds55mwjgpKDdnZemZIJY}(?lc_cZ9f`-ym`6 z+J*27{0YB9%o0%{lgv!=&AiX^eRr|D*h8_pA{cDZZX)8ga=MIg@mReRF#L+59G>QL zeav)@&>(8Hc&O3#E~vgYzc1Jk@NK`N$*#IYh$2jm#FiF5Y~IhA%wqWyOLe!Lb<9i^ z5uy;4C|8J5#I8555T|JA;%Mb)V`!)7Fmwqk7Ct|ppF3a3PP;7eZy_O`wCF|Gw@Y1A z_fBQe?Yi_(^b(IQ%D<)($Fyv zEGN&bq#TKO)%;>t_hv>)J!aDwbv?!?#{YOsP)u@6xgOITGYlDuSuv@G59TD-o|CI& zyzw;V-KYhMMWV=-43AVuVd?W6#&~6rO z+XO9Z+bUZ0D_XSZhcw4rgz>@oHXqOPzUMLc7<{gFI6R$`uJ@FA*Osx7EAzEu&!%^o zAtlt?t=n_5^V{Y0_`~k|EPC|z8~7-CiPt<({7L_Dxx_Sfa<0kZDQjn}B%_Z=L?%)V z0gC?HLJdKR&?v_M#~{NH#jyFJcpYKg7SY4zm(ssK((pJuDb@aYj)?G#Qj8HvcSlHo zw2~HG)m4UZiV2SBk%fzKOftkNri!X0N!5zTQo@xHWhLVj34u>oc%ONw+Lx!B6f;6G zOELFPF;9`?ND0LPN19=gB4egy|MikUE?M*ES85Mf7N{)6N*z^fvBJc$THiCsiQFRj z8pS%thQMxe1hHVN`jUmsmCC;`v2*VD=?r%YFQ^SIYQ)o2& F_yHo>hxPyf 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()