Go 在后台运行并收集数据的通道
我尝试定期在后台运行一些函数,因为我也在为一个Web服务提供服务Go 在后台运行并收集数据的通道,go,Go,我尝试定期在后台运行一些函数,因为我也在为一个Web服务提供服务 import ("strings") func run (cmd string, c chan []byte) { parts := strings.Fields(cmd) head := parts[0] parts = parts[1:len(parts)] out, err := exec.Command(head, parts...).Output() if err !=n
import ("strings")
func run (cmd string, c chan []byte) {
parts := strings.Fields(cmd)
head := parts[0]
parts = parts[1:len(parts)]
out, err := exec.Command(head, parts...).Output()
if err !=nil {
log.Fatal(err)
}
c <-out
}
func main() {
c:=make(chan []byte)
go run ("date",c)
output :=string(<-c)
}
导入(“字符串”)
func run(cmd字符串,c chan[]字节){
部分:=字符串.字段(cmd)
头:=零件[0]
零件=零件[1:len(零件)]
out,err:=exec.Command(head,parts…).Output()
如果错误!=零{
log.Fatal(错误)
}
c您应该首先找到一些库或编写某种实用程序,使您能够连续运行任务,而实际上您的代码并没有这样做
例如:
这只是一个例子,我不知道这个库是否好
然后,您应该选择任务和web服务之间的接口
您可以一次运行所有任务,并使用通道,每个任务一个,以与go例程通信
或者,您可以使用日常写入的数据以及web服务读取和处理的数据编写文本文件
还有其他几种方法或解决方案,这是我现在能想到的最简单的方法
希望这有帮助。要同时运行,请在单独的goroutine中启动它们--您在这里问的到底是什么?我可以在单独的go例程中启动它们。我如何运行几个不同的go例程,并为在同一过程中运行的Web服务收集它们的结果?我要求最佳实践这非常有帮助。我正在尝试查找some设计模式。希望尽可能紧凑。希望避免数据库和中间文件。