将Go工作流/功能打包成Unix风格的流水线命令

141 阅读1分钟

tpack

Pack a Go workflow/function as a Unix-style pipeline command

将Go工作流/功能打包成Unix风格的流水线命令:

Pack a Go workflow/function as a Unix-style pipeline command

Wiki
在类似Unix的计算机操作系统中,流水线是一种使用消息传递进行进程间通信的机制。一个流水线是一组由其标准流串联起来的进程,这样每个进程的输出文本(stdout)就直接作为输入(stdin)传递给下一个进程。

使用tpack 来编写作为管道命令的 Go 应用程序。
使用通道、goroutines、正则表达式等来构建强大的并发工作流。

例子

请参阅实例文件夹中的ETL工作流程:

package main

import "github.com/reugn/tpack"

func main() {
	tpack.NewPackerStd(tpack.NewFunctionProcessor(
		doETL,
	)).Execute()
}

测试命令

cat input.txt | go run *.go 2>/dev/null | wc -l

许可证

在MIT许可下授权。