Esempio n. 1
0

if __name__ == '__main__':
    logFile = Config.getLogFile()
    logFile += "." + datetime.datetime.now().strftime("%Y-%m-%d")

    logging.basicConfig(filename=logFile,
                        filemode='a',
                        level=logging.INFO,
                        format='%(asctime)s: %(message)s',
                        datefmt='%Y-%m-%d %H:%M:%S')

    logging.info("Database replication started.")

    mysqlConfig = Config.getMysqlConfig()
    mssqlConfigs = Config.getMssqlConfig()

    # 异步多进程并发运行任务
    pool = multiprocessing.Pool()

    for mssqlConfig in mssqlConfigs:
        mssqlDB = mssqlConfig['db']

        tables = Config.getSyncTableWithDB(mssqlDB)

        multiprocessing.freeze_support()
        pool.apply_async(processData,
                         (mssqlConfig, mysqlConfig, logFile, tables))

    pool.close()
    pool.join()