如何使用属于 Web 应用程序的 cli Go 文件?

我的问题与 Go 应用程序的结构或方法有关。我有以下应用程序。


root

  |- app

  | |- services

  | |- repositories

  | |- handlers

  | |- commands

  |- go.mod

  |- main.go

命令包中的 Go 文件是独立工作的。其余软件包适用于 Web 应用程序。我在 main.go 中启动了一个 HTTP Web 服务器


所以,我想在 crontab 的命令包中运行 Go 文件。但据我所知,我会将这些整个包构建到一个二进制文件中。我的问题是如何在 crontab 中独立运行命令包中的 Go 文件?我认为我应该将它们分成 2 个应用程序,例如“web 应用程序”和“命令应用程序”,但实际上它们是相互关联的,我不想以不同的方式管理 2 个应用程序。我可以在 crontab 中使用命令 Go 文件,另一方面在 main.go 中启动 HTTP Web 服务器吗?


森栏
浏览 117回答 1
1回答

慕田峪9158850

没有理由不能将您的 Web 应用程序模块中的包导入到另一个模块中,但是如果您想将它们放在一起,您可以做一些很常见的事情,并main在特定目录中添加额外的包,提供类似的目录结构这个:root  |- app  |  |-services  |  |-...  |- cmd  |   |- tools  |   |   |- main.go  |- main.go您可以通过运行来构建/安装您的 CLI 二进制文件,go build ./cmd/tools或者go install ./cmd/tools
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go