2

问题

1.我有一个在 Google App Engine 上运行的 sns 服务

2.sns服务使用go作为后端运行

3.sns服务正在使用crob作业请求Api A

4.Api A 正在将另一个 http 请求(对 Api B 的请求)添加到任务队列中

5.Api A请求后立即执行taskqueue

6.执行Api B的请求

7.Api B回复代码308

问题总结

job cron(请求 Api A) -> Api A -> 任务队列(堆栈请求 Api B) -> Api B -> 一些执行

Api A 回复 200 Api B 回复 308

问题

为什么 Api B 以 308 的代码响应?

补充


顺便说一下下面的顺序是成功的

post man (请求 Api A) -> Api A -> 任务队列(请求 Api B) -> Api B -> 一些执行

Api A 回复 200 Api B 回复 200

当我使用邮递员请求 Api A 时,以下对 Api B 的请求以 200 响应

我使用任务队列的方式就像

    params := url.Values{}
    params.Set("dollSpaces", strings.Join(dollSpaces, ","))
    t := taskqueue.NewPOSTTask("/path", params)
    req.Header.Set("X-AppEngine-QueueName", "mailqueue")
    c := appengine.NewContext(req)
    taskqueue.Add(c, t, "my queue")

谷歌云平台的日志如下

Api A 的响应

2019-01-01 10:00:00.001 JST
GET
200
193 B
577 ms
AppEngine-Google; (+http://code.google.com/appengine)
/path/ApiAPath
 0.1.0.1 - - [01/Jan/2019:10:00:00 +0900] "GET /path/ApiAPath HTTP/1.1" 200 193 - "AppEngine-Google; (+http://code.google.com/appengine)" "aaa.aaa.com" ms=577 cpu_ms=3 cpm_usd=2.8039999999999998e-8 loading_request=0 instance=asda1231313asdasd123123asda123 app_engine_release=1.9.71 trace_id=123123123dsfasf123123zafasdasd

Api B 的响应

2019-01-01 10:00:00.100 JST
POST
308
95 B
2 ms
AppEngine-Google; (+http://code.google.com/appengine)
/ApiBPath

0.1.0.2 - - [01/Jan/2019:10:00:00 +0900] "POST /ApiBPath HTTP/1.1" 308 95 http://aaa.aaa.com/path/ApiAPath "AppEngine-Google; (+http://code.google.com/appengine)" "aaa.aaa.com" ms=2 cpu_ms=221 cpm_usd=1.3802e-8 loading_request=0 instance= asda1231313asdasd123123asda123 app_engine_release=1.9.71 trace_id= 123123123dsfasf123123zafasdasd
4

0 回答 0