0

我想从 App Engine 中的应用调用两个 GET 请求。我想在调用第一个请求后睡几分钟,然后再调用第二个请求。如果我在代码中添加 time.sleep(),我可以部署代码,但是如果我点击应用程序的 URL,它会给我 ->
错误:服务器错误
服务器遇到错误,无法完成您的请求。
请在 30 秒后重试。

健康政策.go

isHealthy, err = h.CampaignService.Run(ctx)
return err
if isHealthy {
        startTime = time.Now().Format(time.RFC3339)
        //The line below causes 500 error
        time.Sleep(3 * time.Minute)
        isHealthy, err = h.ReportService.GenerateReport(ctx, startTime)
    }

竞选-运行-service.go

req, err = http.NewRequest("GET", "URL1", nil)
client := urlfetch.Client(ctx)
res, err = client.Do(req)
if err == nil && res.StatusCode == http.StatusOK {
    return true, err
}
fmt.Println("Error in Run Service ->", err)
return false, err

生成报告服务.go

req, err = http.NewRequest("GET", "URL2", nil)
client := urlfetch.Client(ctx)
res, err = client.Do(req)
if err == nil && res.StatusCode == http.StatusOK && res.ContentLength > 400 {
    return true, err
}
return false, err

我是 App Engine 的新手,在应用引擎代码中使用 sleep 也是一个好主意,如果不是,还有什么替代方法?

4

0 回答 0