forked from caosiyang/py-mongo-sync
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsync.py
36 lines (29 loc) · 894 Bytes
/
sync.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#! /usr/bin/env python
# -*- coding: utf-8 -*-
# summary: MongoDB sync tool
# author: caosiyang
# date: 2013/09/16
from gevent import monkey
monkey.patch_all()
import sys
from mongosync.command_options import CommandOptions
from mongosync.config import MongoConfig, EsConfig
from mongosync.logger import Logger
if __name__ == '__main__':
conf = CommandOptions.parse()
Logger.init(conf.logfilepath)
log = Logger.get()
conf.info(log)
if conf.logfilepath:
conf.info(sys.stdout)
if isinstance(conf.dst_conf, MongoConfig):
from mongosync.mongo.syncer import MongoSyncer
syncer = MongoSyncer(conf)
syncer.run()
elif isinstance(conf.dst_conf, EsConfig):
from mongosync.es.syncer import EsSyncer
syncer = EsSyncer(conf)
syncer.run()
else:
raise Exception('invalid config type')
log.info('exit')