nimo-shake/configure/conf.go (59 lines of code) (raw):
package conf
type Configuration struct {
ConfVersion uint `config:"conf.version"` // do not modify the tag name
Id string `config:"id"`
LogFile string `config:"log.file"`
LogLevel string `config:"log.level"`
LogBuffer bool `config:"log.buffer"`
PidPath string `config:"pid_path"`
SystemProfile int `config:"system_profile"`
FullSyncHTTPListenPort int `config:"full_sync.http_port"`
IncrSyncHTTPListenPort int `config:"incr_sync.http_port"`
SyncMode string `config:"sync_mode"`
SourceAccessKeyID string `config:"source.access_key_id"`
SourceSecretAccessKey string `config:"source.secret_access_key"`
SourceSessionToken string `config:"source.session_token"`
SourceRegion string `config:"source.region"`
SourceEndpointUrl string `config:"source.endpoint_url"`
SourceSessionMaxRetries uint `config:"source.session.max_retries"`
SourceSessionTimeout uint `config:"source.session.timeout"`
QpsFull uint `config:"qps.full"`
QpsFullBatchNum int64 `config:"qps.full.batch_num"`
QpsIncr uint `config:"qps.incr"`
QpsIncrBatchNum int64 `config:"qps.incr.batch_num"`
FilterCollectionWhite string `config:"filter.collection.white"`
FilterCollectionBlack string `config:"filter.collection.black"`
TargetType string `config:"target.type"`
TargetAddress string `config:"target.address"`
TargetMongoDBType string `config:"target.mongodb.type"`
TargetDBExist string `config:"target.db.exist"`
SyncSchemaOnly bool `config:"sync_schema_only"`
FullConcurrency uint `config:"full.concurrency"`
FullReadConcurrency uint `config:"full.read.concurrency"`
FullDocumentConcurrency uint `config:"full.document.concurrency"`
FullDocumentWriteBatch uint `config:"full.document.write.batch"`
FullDocumentParser uint `config:"full.document.parser"`
FullEnableIndexPrimary bool `config:"full.enable_index.primary"`
FullEnableIndexUser bool `config:"full.enable_index.user"`
FullExecutorInsertOnDupUpdate bool `config:"full.executor.insert_on_dup_update"`
FullFilterExpression string `config:"full.read.filter_expression"`
FullFilterAttributeValues string `config:"full.read.filter_attributevalues"`
ConvertType string `config:"convert.type"`
ConvertId string `config:"convert._id"`
IncreaseConcurrency uint `config:"increase.concurrency"`
IncreaseExecutorInsertOnDupUpdate bool `config:"increase.executor.insert_on_dup_update"`
IncreaseExecutorUpsert bool `config:"increase.executor.upsert"`
IncreasePersistDir string `config:"increase.persist.dir"`
CheckpointType string `config:"checkpoint.type"`
CheckpointAddress string `config:"checkpoint.address"`
CheckpointDb string `config:"checkpoint.db"`
IncrSyncParallel bool `config:"incr_sync_parallel"`
/*---------------------------------------------------------*/
// generated variables
Version string // version
}
var Options Configuration
func ConvertIdFunc(name string) string {
if Options.ConvertId != "" && name == "_id" {
return Options.ConvertId + name
}
return name
}