• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Golang dvid.Command类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/janelia-flyem/dvid/dvid.Command的典型用法代码示例。如果您正苦于以下问题:Golang Command类的具体用法?Golang Command怎么用?Golang Command使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Command类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: DoCommand

// DoCommand serves as a switchboard for commands, handling local ones and
// sending via rpc those commands that need a running server.
func DoCommand(cmd dvid.Command) error {
	if len(cmd) == 0 {
		return fmt.Errorf("Blank command!")
	}

	switch cmd.Name() {
	// Handle commands that don't require server connection
	case "serve":
		return DoServe(cmd)
	case "repair":
		return DoRepair(cmd)
	case "about":
		fmt.Println(server.About())
	// Send everything else to server via DVID terminal
	default:
		request := datastore.Request{Command: cmd}
		if *useStdin {
			var err error
			request.Input, err = ioutil.ReadAll(os.Stdin)
			if err != nil {
				return fmt.Errorf("Error in reading from standard input: %v", err)
			}
		}
		return server.SendRPC(*rpcAddress, request)
	}
	return nil
}
开发者ID:tartavull,项目名称:dvid,代码行数:29,代码来源:main.go


示例2: 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
}
开发者ID:hanslovsky,项目名称:dvid,代码行数:61,代码来源:main.go


示例3: 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())
}
开发者ID:hanslovsky,项目名称:dvid,代码行数:9,代码来源:main.go


示例4: 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
}
开发者ID:hanslovsky,项目名称:dvid,代码行数:12,代码来源:main.go


示例5: DoRepair

// DoRepair performs the "repair" command, trying to repair a storage engine
func DoRepair(cmd dvid.Command) error {
	engineName := cmd.Argument(1)
	path := cmd.Argument(2)
	if path == "" {
		return fmt.Errorf("repair command must be followed by engine name and path to the datastore")
	}
	if err := storage.Repair(engineName, path); err != nil {
		return err
	}
	fmt.Printf("Ran repair on %q database at %s.\n", engineName, path)
	return nil
}
开发者ID:tartavull,项目名称:dvid,代码行数:13,代码来源:main.go



注:本文中的github.com/janelia-flyem/dvid/dvid.Command类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang dvid.Config类代码示例发布时间:2022-05-23
下一篇:
Golang dvid.ChunkPoint3d类代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap