1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# -*- coding: utf-8 -*-
"""
Created on Wed Jul 25 12:39:56 2018
@author: hanye
"""
# 改用 cal_weekly_net_inc_auto_task_by_zhouyujiang.py 程序
import datetime
import argparse
import sys
from func_cal_weekly_net_inc import cal_weekly_net_inc_with_doc_type_name_multi_thread
from func_cal_weekly_net_inc import parse_week_param
from func_find_week_num import find_week_belongs_to
from func_update_weekly_datapool import define_doc_type
def get_weekly_doc_type_name_by_week_str(week_str):
weekly_doc_type = 'daily-url-%s' % week_str
parse_week = parse_week_param(weekly_doc_type)
if parse_week is None:
print('Illegal input week_str: %s' % week_str)
return None
else:
return weekly_doc_type
week_day_start = 1
todayT = datetime.datetime.today()
parser = argparse.ArgumentParser()
parser.add_argument('-w', '--week_str', type=str, default=None)
parser.add_argument('-m', '--cal_for_missed', default='0')
parser.add_argument('-t', '--threads_num', default=None)
args = parser.parse_args()
if args.cal_for_missed == '1':
print('Will calculate for missed data, whose field of "weekly_cal_base" '
'is absent.')
query_term = {
"must_not": [
{"exists": {"field": "weekly_cal_base"}}
]
}
else:
query_term = None
if args.week_str is None:
seven_days_ago_T = todayT - datetime.timedelta(days=7)
week_year, week_no, week_day = find_week_belongs_to(seven_days_ago_T,
week_day_start)
weekly_doc_type_name = define_doc_type(week_year, week_no,
week_day_start=week_day_start)
else:
weekly_doc_type_name = get_weekly_doc_type_name_by_week_str(args.week_str)
if weekly_doc_type_name is None:
print('Failed to parse week info from input argument: %s, '
'program exits.' % args.week_str)
sys.exit('cal_weekly_net_inc_auto_task - '
'Program exits dure to illegal input week_str')
else:
pass
index = 'short-video-weekly'
if args.threads_num is not None:
try:
threads_num = int(args.threads_num)
except ValueError:
print('Illegal value for argument threads_num: %s' % args.threads_num)
else:
threads_num = 10
cal_weekly_net_inc_with_doc_type_name_multi_thread(weekly_doc_type_name,
threads_num=threads_num,
index_weekly=index,
query_term=query_term)