# -*- coding: UTF-8 -*- import pymysql import random import threading import traceback import logging from celery import shared_task from django.conf import settings from majia.get_session import get_comments, click, login from majia.get_session import host, user, passwd, db exec_count = 0 def auto_click(pk_list): logging.info("get----------------------:%s" % pk_list) exec_count = 0 try: pc = pymysql.connect(host=host, user=user, passwd=passwd, db=db, port=3306) cursor = pc.cursor() cursor.execute( "SELECT id,user_id FROM topic WHERE id in " + str( tuple(pk_list)) + " and user_id in (select user_id from user_extra where is_shadow = 0)") data = cursor.fetchall() topic_id_list = list(data) logging.info("Database version : %s " % topic_id_list) pc.close() exec_count = 0 if topic_id_list: def fun_timer(): cookies = login() if cookies: click(cookies, topic_id_list[0]) global timer global exec_count exec_count += 1 if exec_count == 1: # sleep_time = random.randint(300, 540) sleep_time = 30 timer = threading.Timer(sleep_time, fun_timer) timer.start() if exec_count == 2: # sleep_time = random.randint(1000, 1900) sleep_time = 50 timer = threading.Timer(sleep_time, fun_timer) timer.start() sleep_time = random.randint(300, 540) timer = threading.Timer(10, fun_timer) # 首次启动 timer.start() else: pass except: logging.error("catch exception,main:%s" % traceback.format_exc()) def auto_reply(pk_list): logging.info("get----------------------:%s" % pk_list) # exec_count = 0 # try: # pc = pymysql.connect(host=host, user=user, passwd=passwd, db=db, port=3306) # cursor = pc.cursor() # cursor.execute( # "SELECT id,user_id FROM topic WHERE id in " + str( # tuple(pk_list)) + " and user_id in (select user_id from user_extra where is_shadow = 0)") # data = cursor.fetchall() # topic_id_list = list(data) # logging.info("Database version : %s " % topic_id_list) # pc.close() # exec_count = 0 # if topic_id_list: # # def fun_comment(): # cookies = login() # if cookies: # comment_content = get_comments() # comment = comment_content[0] # reply(cookies, topic_id_list[0], comment) # # global timer # global exec_count # # exec_count += 1 # if exec_count == 1: # sleep_time = random.randint(300, 540) # sleep_time = 30 # timer = threading.Timer(sleep_time, fun_comment) # timer.start() # # if exec_count == 2: # sleep_time = random.randint(1000, 1900) # sleep_time = 30 # timer = threading.Timer(sleep_time, fun_comment) # timer.start() # # sleep_time = random.randint(300, 540) # timer = threading.Timer(10, fun_comment) # 首次启动 # timer.start() # # # except: # logging.error("catch exception,main:%s" % traceback.format_exc()) @shared_task def auto_majia_effect(pk_list): auto_click(pk_list) auto_reply(pk_list)