while 1: try: data = result_queue.get(20) #60s no data come , seem write done if count == 10: count = 0 logger.info("insert result: %s", db.excutemany(SQLMgr.insert_stock_xg_many(), write_list)) write_list = [] count += 1 write_list.append(data) except Exception as e: logger.info("db break %s", e) break #result_queue.task_done() if __name__ == "__main__": Log("test.log") try: db = DB() all_data = db.query(SQLMgr.get_all_kline_info(Tools.get_today_str())) if all_data: for row in all_data: task_queue.put(row) print all_data worker_thread_num = 4 worker_thread_list = [] for i in range(worker_thread_num): t = threading.Thread(target=worker, args=(task_queue, result_queue)) worker_thread_list.append(t) database_thread = threading.Thread(target=db_writer, args=(result_queue, db)) database_thread.setDaemon(True)
import os import sys from lib.Log import Log from lib.DDNS import DDNS from lib.Config import Config if __name__ == '__main__': # initial val BASE_PATH = os.path.abspath(os.path.dirname(__file__)) # read config configObj = Config(BASE_PATH) logObj = Log(configObj) logger = logObj.get_logger() #debug print logger.debug('DOMAIN_DOMAIN {}'.format(configObj.DOMAIN_DOMAIN)) logger.debug('DOMAIN_PREFIX {}'.format(configObj.DOMAIN_PREFIX)) logger.debug('DOMAIN_TYPE {}'.format(configObj.DOMAIN_TYPE)) logger.debug('DOMAIN_TTL {}'.format(configObj.DOMAIN_TTL)) logger.debug('LOG_PATH {}'.format(configObj.LOG_PATH)) logger.debug('LOG_FILE {}'.format(configObj.LOG_FILE)) logger.debug('LOG_MAX_SIZE {}'.format(configObj.LOG_MAX_SIZE)) logger.debug('LOG_BACKUP_COUNT {}'.format(configObj.LOG_BACKUP_COUNT)) # initial ddnsObj ddnsObj = DDNS(configObj, logger) ddnsObj.run() # success exit sys.exit(configObj.SUCCESS_EXIT)