import os import logging import traceback import argparse from scribe.env import Env from scribe.common import setup_logging from scribe.elasticsearch.service import ElasticSyncService def main(): parser = argparse.ArgumentParser( prog='scribe-elastic-sync' ) Env.contribute_to_arg_parser(parser) parser.add_argument('--reindex', type=bool, default=False) args = parser.parse_args() try: env = Env.from_arg_parser(args) setup_logging(os.path.join(env.db_dir, 'scribe-elastic-sync.log')) server = ElasticSyncService(env) server.run(args.reindex) except Exception: traceback.print_exc() logging.critical('es sync terminated abnormally') else: logging.info('es sync terminated normally') if __name__ == "__main__": main()