我是Google Cloud Tasks的新手。
我指的是https://cloud.google.com/tasks/docs/quickstart-appengine。
我已经成功设置了Java示例应用程序,创建了App Engine队列并将任务添加到App Engine队列中。
但是,据我了解,该示例应用实际上并未执行任何操作。如果我希望应用程序做一些有用的事情,我应该将代码放在哪里?
答案 0 :(得分:1)
在Java示例应用程序之后,您的代码应放在UserDefaults
中。
您发送的有效负载将由处理程序获取,您要执行的代码将在该处。您可以在那里使用有效负载来执行代码。
这是我的代码的样子:
TaskServlet.java
在@WebServlet(
name = "Tasks",
description = "Create Cloud Task",
urlPatterns = "/tasks/create" //Relative path to this handler
)
public class TaskServlet extends HttpServlet {
private static Logger log = Logger.getLogger(TaskServlet.class.getName());
@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws
IOException {
log.info("Received task request: " + req.getServletPath());
String body = req.getReader()
.lines()
.reduce("", (accumulator, actual) -> accumulator + actual);
if (!body.isEmpty()) {
log.info("Request payload: " + body);
String output = String.format("Received task with payload %s", body);
resp.getOutputStream().write(output.getBytes());
log.info("Sending response: " + output);
//For instance, something like...
myFunction(body); //body being the payload
resp.setStatus(HttpServletResponse.SC_OK);
} else {
log.warning("Null payload received in request to " + req.getServletPath());
}
}
private void myFunction(String str){
//Your code here
}
}
中观察如何设置处理程序的相对路径:
CreateTask.java
您还可以创建不同的处理程序,为它们提供不同的相对URI。