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

解决方法

通过任务队列,您可以使用 Cloud Task 将 HTTP 调用排入队列的 Google Cloud 产品。如果您想调用 printHello 函数,它必须是 HTTP 可调用的(因此在网络服务器中,可公开访问。可以使用 Google Coud 上的 IAM 进行保护)。

您不能将内部函数调用加入队列。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...