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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# coding=utf-8
import random
from gm_types.gaia import CONST_STRINGS as const_strings
from qa.utils.time import get_daytime_countdown
try:
xrange
except NameError: # python3 compatible for xrange
xrange = range
def get_countdown(repeat_times, time_range=(0, 0)):
countdown = []
for _ in xrange(repeat_times):
countdown.append(random.randint(*time_range))
return countdown
def check_time_delta(time_list, time_interval):
new_time_list = sorted(time_list)
for index, value in enumerate(new_time_list):
if index != 0:
if value - new_time_list[index-1] < time_interval:
new_time_list[index] += time_interval
return new_time_list
def get_async_args_v2(stat_name):
"""
:param stat_name:
:return: repeat: 多少人点赞, countdown: 倒计时多久开始执行, incr_range: 增加多少浏览量
创建回答、帖子、日记帖后
第一次:【60s-2h】:[1-2]个赞
第二次:【2h-5h】: [1-2]个赞
第三次:【5-10h】:[1-2]个赞
如果是两个 分两次(两次时间间隔限制30min)
有真实用户点赞回答、帖子、日记帖后30min触发(概率是百分之70) 仅触发一次点赞 点赞后push触发的概率是百分之20
冗余了一下 方便以后改 = . =
"""
vote_trigger = True if random.randint(0, 100) > 30 else False
incr_range = [3, 11]
hour = 60 * 60
if stat_name == const_strings.TOPIC_VOTE_RULE1:
countdown = [random.randint(30, 60)]
incr_range = [2, 20]
elif stat_name == const_strings.DIARY_VOTE:
first_stage = get_countdown(repeat_times=1, time_range=(60, hour * 2))
second_stage = get_countdown(repeat_times=1, time_range=(hour * 2, hour * 10))
third_stage = get_countdown(repeat_times=1, time_range=(hour * 10, hour * 24))
stage = first_stage + second_stage + third_stage
sorted(stage)
countdown = check_time_delta(stage, time_interval=hour * 0.5)
elif stat_name == const_strings.TOPIC_VOTE:
countdown = [0.5 * 60 * 60] if vote_trigger else []
elif stat_name == const_strings.ANSWER_VOTE:
countdown = [0.5 * 60 * 60] if vote_trigger else []
elif stat_name == const_strings.TRACTATE_VOTE:
countdown = [0.5 * 60 * 60] if vote_trigger else []
elif stat_name == const_strings.CREATE_ANSWER_VOTE:
first_stage = get_countdown(repeat_times=random.randint(1, 2), time_range=(60, hour * 2))
second_stage = get_countdown(repeat_times=random.randint(1, 2), time_range=(hour * 2, hour * 5))
third_stage = get_countdown(repeat_times=random.randint(1, 2), time_range=(hour * 5, hour * 10))
stage = first_stage + second_stage + third_stage
sorted(stage)
countdown = check_time_delta(stage, time_interval=hour * 0.5)
elif stat_name == const_strings.CREATE_TRACTATE_VOTE:
first_stage = get_countdown(repeat_times=random.randint(1, 2), time_range=(60, hour * 2))
second_stage = get_countdown(repeat_times=random.randint(1, 2), time_range=(hour * 2, hour * 5))
third_stage = get_countdown(repeat_times=random.randint(1, 2), time_range=(hour * 5, hour * 10))
stage = first_stage + second_stage + third_stage
sorted(stage)
countdown = check_time_delta(stage, time_interval=hour * 0.5)
elif stat_name == const_strings.CREATE_TOPIC_VOTE:
first_stage = get_countdown(repeat_times=random.randint(1, 2), time_range=(60, hour * 2))
second_stage = get_countdown(repeat_times=random.randint(1, 2), time_range=(hour * 2, hour * 5))
third_stage = get_countdown(repeat_times=random.randint(1, 2), time_range=(hour * 5, hour * 9.5))
stage = first_stage + second_stage + third_stage
sorted(stage)
countdown = check_time_delta(stage, time_interval=hour * 0.5)
else:
countdown = []
incr_range = [0, 0]
return countdown, incr_range