def user_sort_interface(username , time ,sort_scope , sort_norm , arg = None, st = None, et = None, isall = False, task_number=0, number=100): task_number = int(task_number) print "user_interface:", number user_list = [] if isall: #deal with the situation of all net user if sort_scope == 'all_limit_keyword': #offline job #add job to es index during = ( datetime2ts(et) - datetime2ts(st) ) / DAY + 1 time = 1 if during > 3: time = 7 elif during > 16: time = 30 running_number = es_user_portrait.count(index='user_rank_keyword_task', doc_type='user_rank_task', body=query_task_number(username))['count'] if running_number > task_number-1: return "more than limit" search_id = add_task( username ,"keyword" , "all" ,'flow_text_' , during , st ,et, arg , sort_norm , sort_scope, time, isall, number) #deal with the offline task return {"flag":True , "search_id" : search_id } elif sort_scope == 'all_nolimit': #online job print "all_sort, ", number user_list = all_sort_filter(None,sort_norm,time,False,number) else: if sort_scope == 'in_limit_keyword': #offline job #deal with the offline task during = ( datetime2ts(et) - datetime2ts(st) ) / DAY + 1 time = 1 if during > 3: time = 7 elif during > 16: time = 30 running_number = es_user_portrait.count(index='user_rank_keyword_task', doc_type='user_rank_task', body=query_task_number(username))['count'] if running_number > task_number-1: return "more than limit" search_id = add_task( username ,"keyword" , "in" ,'flow_text_' , during , st ,et , arg , sort_norm , sort_scope, time, isall, number) return {"flag":True , "search_id" : search_id } elif sort_scope == 'in_limit_hashtag': during = ( datetime2ts(et) - datetime2ts(st) ) / DAY + 1 time = 1 if during > 3: time = 7 elif during > 16: time = 30 running_number = es_user_portrait.count(index='user_rank_keyword_task', doc_type='user_rank_task', body=query_task_number(username))['count'] if running_number > task_number-1: return "more than limit" search_id = add_task( username ,"hashtag" , "in" ,'flow_text_' , during , st ,et, arg , sort_norm , sort_scope, time, isall, number) return {"flag":True , "search_id" : search_id } else: #find the scope user_list = in_sort_filter(time , sort_norm,sort_scope , arg,[], False, number) result = make_up_user_info(user_list,isall , time , sort_norm) print "user_list:", len(user_list) return result
def weibo_sort_interface(username , time, sort_scope, sort_norm, arg, st, et, task_number, number): task_number = int(task_number) print "user_interface:", number weibo_list = [] during = (datetime2ts(et) - datetime2ts(st)) / DAY + 1 time = 1 if during > 3: time = 7 elif during > 16: time = 30 query_body = { "query":{ "terms":{ "status": [0, -1] } } } if sort_scope == 'all_limit_keyword': running_number = es_weibo_portrait.count(index=WEIBO_RANK_KEYWORD_TASK_INDEX, doc_type=WEIBO_RANK_KEYWORD_TASK_TYPE, body=query_body)['count'] if running_number > task_number - 1: return "more than limit" search_id = add_task(username, type="keyword", during=during, st=st, et=et, arg=arg, sort_norm=sort_norm, sort_scope=sort_scope, time=time, number=number) #deal with the offline task return {"flag": True , "search_id": search_id} elif sort_scope == 'all_nolimit': pass return weibo_list
def user_sort_interface(username , time ,sort_scope , sort_norm , arg = None, st = None, et = None, isall = False): user_list = [] if isall: #deal with the situation of all net user if sort_scope == 'all_limit_keyword': #offline job #add job to es index during = ( datetime2ts(et) - datetime2ts(st) ) / DAY + 1 time = 1 if during > 3: time = 7 elif during > 16: time = 30 search_id = add_task( username ,"keyword" , "all" ,'flow_text_' , during , st ,et, arg , sort_norm , sort_scope, time, isall) #deal with the offline task return {"flag":True , "search_id" : search_id } elif sort_scope == 'all_nolimit': #online job user_list = all_sort_filter(None,sort_norm,time) else: if sort_scope == 'in_limit_keyword': #offline job #deal with the offline task during = ( datetime2ts(et) - datetime2ts(st) ) / DAY + 1 time = 1 if during > 3: time = 7 elif during > 16: time = 30 search_id = add_task( username ,"keyword" , "in" ,'flow_text_' , during , st ,et , arg , sort_norm , sort_scope, time, isall) return {"flag":True , "search_id" : search_id } elif sort_scope == 'in_limit_hashtag': during = ( datetime2ts(et) - datetime2ts(st) ) / DAY + 1 time = 1 if during > 3: time = 7 elif during > 16: time = 30 search_id = add_task( username ,"hashtag" , "in" ,'flow_text_' , during , st ,et, arg , sort_norm , sort_scope, time, isall) return {"flag":True , "search_id" : search_id } else: #find the scope user_list = in_sort_filter(time , sort_norm,sort_scope , arg) result = make_up_user_info(user_list,isall , time , sort_norm) return result
def weibo_sort_interface(username, time, sort_scope, sort_norm, arg, st, et, task_number, number): task_number = int(task_number) print "user_interface:", number weibo_list = [] during = (datetime2ts(et) - datetime2ts(st)) / DAY + 1 time = 1 if during > 3: time = 7 elif during > 16: time = 30 query_body = {"query": {"terms": {"status": [0, -1]}}} if sort_scope == 'all_limit_keyword': running_number = es_weibo_portrait.count( index=WEIBO_RANK_KEYWORD_TASK_INDEX, doc_type=WEIBO_RANK_KEYWORD_TASK_TYPE, body=query_body)['count'] if running_number > task_number - 1: return "more than limit" search_id = add_task(username, type="keyword", during=during, st=st, et=et, arg=arg, sort_norm=sort_norm, sort_scope=sort_scope, time=time, number=number) #deal with the offline task return {"flag": True, "search_id": search_id} elif sort_scope == 'all_nolimit': pass return weibo_list
def user_sort_interface(username, time, sort_scope, sort_norm, arg=None, st=None, et=None, isall=False, task_number=0, number=100): task_number = int(task_number) print "user_interface:", number user_list = [] if isall: #deal with the situation of all net user if sort_scope == 'all_limit_keyword': #offline job #add job to es index during = (datetime2ts(et) - datetime2ts(st)) / DAY + 1 time = 7 if during > 3: time = 7 elif during > 16: time = 30 running_number = es_user_portrait.count( index='user_rank_keyword_task', doc_type='user_rank_task', body=query_body)['count'] if running_number > task_number - 1: return "more than limit" search_id = add_task(username, "keyword", "all", 'flow_text_', during, st, et, arg, sort_norm, sort_scope, time, isall, number) #deal with the offline task return {"flag": True, "search_id": search_id} elif sort_scope == 'all_nolimit': #online job print "all_sort, ", number user_list = all_sort_filter(None, sort_norm, time, False, number) else: if sort_scope == 'in_limit_keyword': #offline job #deal with the offline task during = (datetime2ts(et) - datetime2ts(st)) / DAY + 1 time = 7 if during > 3: time = 7 elif during > 16: time = 30 running_number = es_user_portrait.count( index='user_rank_keyword_task', doc_type='user_rank_task', body=query_body)['count'] if running_number > task_number - 1: return "more than limit" search_id = add_task(username, "keyword", "in", 'flow_text_', during, st, et, arg, sort_norm, sort_scope, time, isall, number) return {"flag": True, "search_id": search_id} elif sort_scope == 'in_limit_hashtag': during = (datetime2ts(et) - datetime2ts(st)) / DAY + 1 time = 7 if during > 3: time = 7 elif during > 16: time = 30 running_number = es_user_portrait.count( index='user_rank_keyword_task', doc_type='user_rank_task', body=query_body)['count'] if running_number > task_number - 1: return "more than limit" search_id = add_task(username, "hashtag", "in", 'flow_text_', during, st, et, arg, sort_norm, sort_scope, time, isall, number) return {"flag": True, "search_id": search_id} else: #find the scope user_list = in_sort_filter(time, sort_norm, sort_scope, arg, [], False, number) result = make_up_user_info(user_list, isall, time, sort_norm) print "user_list:", len(user_list) return result