import logging import sys from concurrent.futures import ThreadPoolExecutor import params from logs.AppLogging import init_logger from utils.excel_reader import ExcelHelper from workers.commandor_page import CommandorPage OTP_TIMEOUT = 240 current_gsm_modem = None # used to save the current slot position init_logger() logger = logging.getLogger() logger.addHandler(logging.StreamHandler(stream=sys.stdout)) def start_book(start_number, end_number, store=0): # read the contact, and contact the 2 objects together excel_reader = ExcelHelper() contacts = excel_reader.read_contacts()[start_number - 1: end_number - 1] print(contacts) with ThreadPoolExecutor(max_workers=10) as executor: for contact in contacts: proxy = get_proxy(contact.phone_number) commandor = CommandorPage(contact, store_type=store) # start the task in thread executor.submit(commandor.start_page, proxy) def get_proxy(phone_number): random_id_number = str(phone_number)[1:len(str(phone_number))] proxy_username = "panleicim-res-fr-" + random_id_number logger.info("proxy_username is " + proxy_username) proxy = { "server": params.PROXY_SERVER, "username": proxy_username, "password": params.PROXY_PASSWORD } return proxy if __name__ == '__main__': # 修改起始行,结束行, 第三个参数store等于0的时候是随机,传入1的时候是总店 start_book(2, 18, store=0)