July 2019
Intermediate to advanced
502 pages
14h
English
The test has two separate functions to run the services. These functions are very similar. They set environment variables and call the RunService() function, which we will dive into soon. Both services depend on the value of the PORT environment variable, and it needs to be different for each of the services. This means that it is imperative that we launch the services sequentially and not in parallel. Otherwise, a service might end up listening on the wrong port:
func runLinkService(ctx context.Context) { // Set environment err := os.Setenv("PORT", "8080") Check(err) err = os.Setenv("MAX_LINKS_PER_USER", "10") Check(err) RunService(ctx, ".", "link_service") } func runSocialGraphService(ctx context.Context) { err := os.Setenv("PORT", ...