internal/play: impose time limit on compile proxy

Every day around 3:30pm US Eastern time
the web server seems to get overloaded.
It starts with a suspicious number of 500 responses
from /_/compile relaying to the default back end,
which start timing out after 10 seconds and then
grow longer and longer.

One theory is that the requests are lasting longer
than that and piling up in the system, since we are
using http.DefaultClient, which has no timeout.
Use a client with a 20s timeout to try to clear things
out a bit more promptly.

Change-Id: I7e1659adfcf63d6b712ede4d0fc2b508b3e6bb45
Reviewed-on: https://go-review.googlesource.com/c/website/+/375614
Trust: Russ Cox <rsc@golang.org>
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Jamal Carvalho <jamalcarvalho@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
1 file changed
tree: 848fbe8ed82c971f6721f4a9a3634de106202d87
  1. _content/
  2. _later/
  3. cmd/
  4. internal/
  5. tour/
  6. .eslintrc.yaml
  7. .gitattributes
  8. .prettierrc.yaml
  9. .stylelintrc.yaml
  10. AUTHORS
  11. codereview.cfg
  12. content.go
  13. CONTRIBUTING.md
  14. CONTRIBUTORS
  15. go-app-deploy.sh
  16. go.mod
  17. go.sum
  18. LICENSE
  19. PATENTS
  20. README.md
README.md

Go website

Go Reference

This repo holds content and serving programs for the go.dev and golang.org web sites.

Content is in _content/ (go.dev) and tour/ (go.dev/tour). Server code is in cmd/ and internal/.

To run the combined go.dev+golang.org server to preview local content changes, use:

go run ./cmd/golangorg

The supporting programs cmd/admingolangorg and cmd/googlegolangorg are the servers for admin.golang.org and google.golang.org. (They do not use the _content/ directories.)

Each command directory has its own README.md explaining deployment.

JS/CSS Formatting

This repository uses prettier to format JS and CSS files.

See also:

The version of prettier used is 1.18.2.

It is encouraged that all JS and CSS code be run through this before submitting a change. However, it is not a strict requirement enforced by CI.

Deploying

Each time a CL is reviewed and submitted, the code is deployed to App Engine. See cmd/golangorg/README.md for details.

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute.

The main issue tracker for the website repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/website:” in the subject line, so it is easy to find.