Commit 41285637 authored by lvshibao's avatar lvshibao

修改定时任务时间,和任务获取数据的方式

parent dc66fb20
...@@ -34,7 +34,7 @@ def team_seat(): ...@@ -34,7 +34,7 @@ def team_seat():
@kronos.register('30 6 * * *') @kronos.register('30 6 * * *')
def rule_stat(start_date=None, end_date=None): def rule_stat(date_str=None):
""" """
首页概述-违规项统计 首页概述-违规项统计
...@@ -44,13 +44,12 @@ def rule_stat(start_date=None, end_date=None): ...@@ -44,13 +44,12 @@ def rule_stat(start_date=None, end_date=None):
:return: :return:
""" """
seat_code_team_name = team_seat() seat_code_team_name = team_seat()
if not start_date and not end_date: if not date_str:
# 数据库中为utc时间 # 数据库中为utc时间
start_date = (datetime.utcnow() + timedelta(hours=-3)).strftime('%Y-%m-%d %H:%M:%S') date_str = datetime.now().strftime('%Y-%m-%d')
end_date = datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S') create_date = date_str
create_date = (datetime.strptime(end_date, '%Y-%m-%d %H:%M:%S') + timedelta(hours=8)).strftime('%Y-%m-%d')
logger.info('[rule_stat]rule stat start...') logger.info('[rule_stat]rule stat start...')
task_condition = {'hasCheck': 1, 'createdAt__gte': start_date, 'createdAt__lt': end_date} task_condition = {'hasCheck': 1, 'name__endswith': date_str}
tasks = Tasks.objects.filter(**task_condition).values('id', 'name', 'sessionCollectionId') tasks = Tasks.objects.filter(**task_condition).values('id', 'name', 'sessionCollectionId')
stat_count = 0 stat_count = 0
for t in tasks: for t in tasks:
...@@ -89,18 +88,17 @@ def rule_stat(start_date=None, end_date=None): ...@@ -89,18 +88,17 @@ def rule_stat(start_date=None, end_date=None):
@kronos.register('30 6 * * *') @kronos.register('30 6 * * *')
def seat_stat(start_date=None, end_date=None): def seat_stat(date_str=None):
""" """
首页概述-违规坐席统计 首页概述-违规坐席统计
:return: :return:
""" """
seat_code_team_name = team_seat() seat_code_team_name = team_seat()
if not start_date and not end_date: if not date_str:
start_date = (datetime.utcnow() + timedelta(hours=-3)).strftime('%Y-%m-%d %H:%M:%S') date_str = datetime.now().strftime('%Y-%m-%d')
end_date = datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S') create_date = date_str
create_date = (datetime.strptime(end_date, '%Y-%m-%d %H:%M:%S') + timedelta(hours=8)).strftime('%Y-%m-%d')
logger.info('[seat_stat]violate seat stat start...') logger.info('[seat_stat]violate seat stat start...')
task_condition = {'hasCheck': 1, 'createdAt__gte': start_date, 'createdAt__lt': end_date} task_condition = {'hasCheck': 1, 'name__endswith': date_str}
tasks = Tasks.objects.filter(**task_condition).values('id', 'name', 'sessionCollectionId') tasks = Tasks.objects.filter(**task_condition).values('id', 'name', 'sessionCollectionId')
stat_count = 0 stat_count = 0
for t in tasks: for t in tasks:
...@@ -137,19 +135,18 @@ def seat_stat(start_date=None, end_date=None): ...@@ -137,19 +135,18 @@ def seat_stat(start_date=None, end_date=None):
logger.info('[seat_stat]violate seat stat end.') logger.info('[seat_stat]violate seat stat end.')
@kronos.register('30 1,6,12 * * *') @kronos.register('30 6 * * *')
def score_stat(start_date=None, end_date=None): def score_stat(date_str=None):
""" """
坐席得分统计 坐席得分统计
:return: :return:
""" """
seat_code_team_name = team_seat() seat_code_team_name = team_seat()
if not start_date and not end_date: if not date_str:
start_date = (datetime.utcnow() + timedelta(hours=-3)).strftime('%Y-%m-%d %H:%M:%S') date_str = datetime.now().strftime('%Y-%m-%d')
end_date = datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S') create_date = date_str
create_date = (datetime.strptime(end_date, '%Y-%m-%d %H:%M:%S') + timedelta(hours=8)).strftime('%Y-%m-%d')
logger.info('[score_stat]seat score stat start...') logger.info('[score_stat]seat score stat start...')
task_condition = {'hasCheck': 1, 'createdAt__gte': start_date, 'createdAt__lt': end_date} task_condition = {'hasCheck': 1, 'name__endswith': date_str}
tasks = Tasks.objects.filter(**task_condition).values('id', 'name', 'sessionCollectionId') tasks = Tasks.objects.filter(**task_condition).values('id', 'name', 'sessionCollectionId')
stat_count = 0 stat_count = 0
for t in tasks: for t in tasks:
......
...@@ -9,12 +9,11 @@ def stat_rules_every(request): ...@@ -9,12 +9,11 @@ def stat_rules_every(request):
start_date = request.GET.get('start_date') start_date = request.GET.get('start_date')
end_date = request.GET.get('end_date') end_date = request.GET.get('end_date')
s_date = datetime.strptime(start_date, '%Y-%m-%d') s_date = datetime.strptime(start_date, '%Y-%m-%d')
e_date = datetime.strptime(end_date + ' 23:59:59', '%Y-%m-%d %H:%M:%S') e_date = datetime.strptime(end_date, '%Y-%m-%d')
seed_dt = list(rrule(DAILY, byweekday=[0, 1, 2, 3, 4, 5, 6], dtstart=s_date, until=e_date)) seed_dt = list(rrule(DAILY, byweekday=[0, 1, 2, 3, 4, 5, 6], dtstart=s_date, until=e_date))
for date in seed_dt: for date in seed_dt:
start_date = date date_str = date.strftime('%Y-%m-%d')
end_date = datetime.strptime(date.strftime('%Y-%m-%d') + ' 23:59:59', '%Y-%m-%d %H:%M:%S') rule_stat(date_str)
rule_stat(start_date, end_date)
return JsonResponse({'code': 0, 'msg': 'stat success'}) return JsonResponse({'code': 0, 'msg': 'stat success'})
...@@ -22,12 +21,11 @@ def stat_seats_every(request): ...@@ -22,12 +21,11 @@ def stat_seats_every(request):
start_date = request.GET.get('start_date') start_date = request.GET.get('start_date')
end_date = request.GET.get('end_date') end_date = request.GET.get('end_date')
s_date = datetime.strptime(start_date, '%Y-%m-%d') s_date = datetime.strptime(start_date, '%Y-%m-%d')
e_date = datetime.strptime(end_date + ' 23:59:59', '%Y-%m-%d %H:%M:%S') e_date = datetime.strptime(end_date, '%Y-%m-%d')
seed_dt = list(rrule(DAILY, byweekday=[0, 1, 2, 3, 4, 5, 6], dtstart=s_date, until=e_date)) seed_dt = list(rrule(DAILY, byweekday=[0, 1, 2, 3, 4, 5, 6], dtstart=s_date, until=e_date))
for date in seed_dt: for date in seed_dt:
start_date = date date_str = date.strftime('%Y-%m-%d')
end_date = datetime.strptime(date.strftime('%Y-%m-%d') + ' 23:59:59', '%Y-%m-%d %H:%M:%S') seat_stat(date_str)
seat_stat(start_date, end_date)
return JsonResponse({'code': 0, 'msg': 'stat success'}) return JsonResponse({'code': 0, 'msg': 'stat success'})
...@@ -35,12 +33,11 @@ def stat_scores_every(request): ...@@ -35,12 +33,11 @@ def stat_scores_every(request):
start_date = request.GET.get('start_date') start_date = request.GET.get('start_date')
end_date = request.GET.get('end_date') end_date = request.GET.get('end_date')
s_date = datetime.strptime(start_date, '%Y-%m-%d') s_date = datetime.strptime(start_date, '%Y-%m-%d')
e_date = datetime.strptime(end_date + ' 23:59:59', '%Y-%m-%d %H:%M:%S') e_date = datetime.strptime(end_date, '%Y-%m-%d')
seed_dt = list(rrule(DAILY, byweekday=[0, 1, 2, 3, 4, 5, 6], dtstart=s_date, until=e_date)) seed_dt = list(rrule(DAILY, byweekday=[0, 1, 2, 3, 4, 5, 6], dtstart=s_date, until=e_date))
for date in seed_dt: for date in seed_dt:
start_date = date date_str = date.strftime('%Y-%m-%d')
end_date = datetime.strptime(date.strftime('%Y-%m-%d') + ' 23:59:59', '%Y-%m-%d %H:%M:%S') score_stat(date_str)
score_stat(start_date, end_date)
return JsonResponse({'code': 0, 'msg': 'stat success'}) return JsonResponse({'code': 0, 'msg': 'stat success'})
...@@ -51,7 +48,7 @@ def stat_time_every(request): ...@@ -51,7 +48,7 @@ def stat_time_every(request):
e_date = datetime.strptime(end_date, '%Y-%m-%d') e_date = datetime.strptime(end_date, '%Y-%m-%d')
seed_dt = list(rrule(DAILY, byweekday=[0, 1, 2, 3, 4, 5, 6], dtstart=s_date, until=e_date)) seed_dt = list(rrule(DAILY, byweekday=[0, 1, 2, 3, 4, 5, 6], dtstart=s_date, until=e_date))
for date in seed_dt: for date in seed_dt:
start_date = date.date() start_date = date.strftime('%Y-%m-%d')
end_date = (datetime.strptime(date.strftime('%Y-%m-%d'), '%Y-%m-%d') + timedelta(days=1)).date() end_date = date.strftime('%Y-%m-%d') + ' 23:59:59'
seat_time_stat(start_date, end_date) seat_time_stat(start_date, end_date)
return JsonResponse({'code': 0, 'msg': 'stat success'}) return JsonResponse({'code': 0, 'msg': 'stat success'})
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment