本文整理汇总了Golang中github.com/janelia-flyem/dvid/dvid.Command.Settings方法的典型用法代码示例。如果您正苦于以下问题:Golang Command.Settings方法的具体用法?Golang Command.Settings怎么用?Golang Command.Settings使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/janelia-flyem/dvid/dvid.Command
的用法示例。
在下文中一共展示了Command.Settings方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: DoServe
// DoServe opens a datastore then creates both web and rpc servers for the datastore
func DoServe(cmd dvid.Command) error {
// Capture ctrl+c and other interrupts. Then handle graceful shutdown.
stopSig := make(chan os.Signal)
go func() {
for sig := range stopSig {
log.Printf("Stop signal captured: %q. Shutting down...\n", sig)
if *memprofile != "" {
log.Printf("Storing memory profiling to %s...\n", *memprofile)
f, err := os.Create(*memprofile)
if err != nil {
log.Fatal(err)
}
pprof.WriteHeapProfile(f)
f.Close()
}
if *cpuprofile != "" {
log.Printf("Stopping CPU profiling to %s...\n", *cpuprofile)
pprof.StopCPUProfile()
}
server.Shutdown()
time.Sleep(1 * time.Second)
os.Exit(0)
}
}()
signal.Notify(stopSig, os.Interrupt, os.Kill, syscall.SIGTERM)
// Check if there is a configuration file, and if so, set logger.
logConfig, err := server.LoadConfig(*configfile)
if err != nil {
return fmt.Errorf("Error loading configuration file %q: %v\n", *configfile, err)
}
logConfig.SetLogger()
// Load datastore metadata and initialize datastore
dbpath := cmd.Argument(1)
if dbpath == "" {
return fmt.Errorf("serve command must be followed by the path to the datastore")
}
if err := local.Initialize(dbpath, cmd.Settings()); err != nil {
return fmt.Errorf("Unable to initialize local storage: %v\n", err)
}
if err := datastore.Initialize(); err != nil {
return fmt.Errorf("Unable to initialize datastore: %v\n", err)
}
// add handlers to help us track memory usage - they don't track memory until they're told to
profiler.AddMemoryProfilingHandlers()
// Uncomment if you want to start profiling automatically
// profiler.StartProfiling()
// listen on port 6060 (pick a port)
go http.ListenAndServe(":6060", nil)
// Serve HTTP and RPC
if err := server.Serve(*httpAddress, *clientDir, *rpcAddress); err != nil {
return err
}
return nil
}
示例2: DoCreate
// DoCreate creates a new DVID datastore.
func DoCreate(cmd dvid.Command) error {
datastorePath := cmd.Argument(1)
if datastorePath == "" {
return fmt.Errorf("create command must be followed by the path to the datastore")
}
kvCanStoreMetadata := true // We assume this for local key value stores.
return datastore.Create(datastorePath, kvCanStoreMetadata, cmd.Settings())
}
示例3: DoRepair
// DoRepair performs the "repair" command, trying to repair a storage engine
func DoRepair(cmd dvid.Command) error {
datastorePath := cmd.Argument(1)
if datastorePath == "" {
return fmt.Errorf("repair command must be followed by the path to the datastore")
}
if err := datastore.Repair(datastorePath, cmd.Settings()); err != nil {
return err
}
fmt.Printf("Ran repair on database at %s.\n", datastorePath)
return nil
}