go - Golang用任务队列排队一个方法
问题描述
我是 golang 的新手,我正在使用这个任务队列库google.golang.org/appengine/taskqueue来排队任务。我试过排队一个 api 调用,它看起来像这样(即,一个 PUT api 调用)
taskqueue.Task{
Path: fmt.Sprintf(<endpoint>),
Method: "PUT",
Payload: payload
}
但我想知道如何将除休息调用之外的任何其他方法排入队列。说,我有下面的方法printHello,我想在管道中稍后将其排入队列并执行。有没有办法用任务队列做到这一点?
func printHello(msg string){
log.Infof("Doing some tasks here");
}
我正在使用 golang 1.11.13
解决方案
通过任务队列,您可以使用将 HTTP 调用排队的Cloud Task Google Cloud 产品。如果您想调用您的 printHello 函数,它必须是 HTTP 可调用的(因此在网络服务器中,可以公开访问。可以使用 Google Coud 上的 IAM 进行保护)。
您不能将内部函数调用排入队列。
推荐阅读
- ssh - SSH 到服务器并从那里 rsync - 使用非标准端口
- javascript - 在 chalk.js 中的 forEach() 中获取随机颜色
- r - 在 R 中使用正则表达式从 PDF 中提取特定单词
- php - 如何更改wordpress url结构
- python - TensorFlow fit 给出 TypeError: Cannot clone object 错误
- ios - viewcontroller 的 view 的背景色是决定 view 的大小还是 view 的可点击区域?
- angular - 尝试将文件上传到 Firebase 存储时出错 [Object object]
- flutter - 一起使用flutter bloc库和websockets的设计建议
- google-apps-script - 如何在 Google Apps 脚本中创建一个包含一天中时间列的条形图
- automata - 正则表达式 b 的个数可以被 3 整除的所有字符串