{"id":20723296,"url":"https://github.com/jeamon/gofetching","last_synced_at":"2025-03-11T08:24:31.197Z","repository":{"id":152279694,"uuid":"421575633","full_name":"jeamon/gofetching","owner":"jeamon","description":"Go source code to demonstrate three techniques for concurrent fetching of multiple urls over http.","archived":false,"fork":false,"pushed_at":"2023-10-14T19:32:15.000Z","size":13,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-17T23:17:27.006Z","etag":null,"topics":["concurrency","concurrent-programming","go","golang","goroutines","http-client","http-requests","mutlithreading","worker-pool"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jeamon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-10-26T20:32:31.000Z","updated_at":"2023-10-14T19:34:46.000Z","dependencies_parsed_at":"2023-10-16T02:50:16.460Z","dependency_job_id":"41f9d296-8377-4cdc-a6f9-eb2de2929542","html_url":"https://github.com/jeamon/gofetching","commit_stats":null,"previous_names":["jeamon/gofetching"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeamon%2Fgofetching","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeamon%2Fgofetching/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeamon%2Fgofetching/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeamon%2Fgofetching/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeamon","download_url":"https://codeload.github.com/jeamon/gofetching/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242997781,"owners_count":20219228,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["concurrency","concurrent-programming","go","golang","goroutines","http-client","http-requests","mutlithreading","worker-pool"],"created_at":"2024-11-17T04:08:14.964Z","updated_at":"2025-03-11T08:24:31.167Z","avatar_url":"https://github.com/jeamon.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# go-concurrent-urls-fetching\n\nA go-based repository to demonstrate multiple techniques to concurrently fetch multiple url over http.\n\n## Outputs\n\n\n* **Below is the program execution output**\n\n```\n\n~$ go run main.go\n\nhttps://twitter.com : 200 OK\nhttps://google.com : 200 OK\nhttps://microsoft.com : 200 OK\nhttps://cisco.com : 200 OK\nhttps://amazon.com : 200 OK\nhttps://facebook.com : 200 OK\n\nhttps://google.com : 200 OK\nhttps://twitter.com : 200 OK\nhttps://microsoft.com : 200 OK\nhttps://facebook.com : 200 OK\nhttps://amazon.com : 200 OK\nhttps://cisco.com : 200 OK\n\nhttps://twitter.com : 200 OK\nhttps://google.com : 200 OK\nhttps://amazon.com : 200 OK\nhttps://facebook.com : 200 OK\nhttps://microsoft.com : 200 OK\nhttps://cisco.com : 200 OK\n\nworker 1 :: https://google.com : 200 OK\nworker 0 :: https://microsoft.com : 200 OK\nworker 3 :: https://facebook.com : 200 OK\nworker 1 :: https://amazon.com : 200 OK\nworker 0 :: https://twitter.com : 200 OK\nworker 2 :: https://cisco.com : 200 OK\n\n```\n\n\n* **Below is the tests execution output**\n\n```\n\n:~$ go test -cover -failfast -v\n=== RUN   TestFetch_Valid\n--- PASS: TestFetch_Valid (0.01s)\n=== RUN   TestFetch_Invalid\n--- PASS: TestFetch_Invalid (0.00s)\n=== RUN   TestFetch_Timeout\n--- PASS: TestFetch_Timeout (6.02s)\n=== RUN   TestFetch_Error\n--- PASS: TestFetch_Error (0.00s)\n=== RUN   TestFetch_EndToEnd\n=== RUN   TestFetch_EndToEnd/testing_status_200\n=== RUN   TestFetch_EndToEnd/testing_status_400\n=== RUN   TestFetch_EndToEnd/testing_status_401\n=== RUN   TestFetch_EndToEnd/testing_status_404\n=== RUN   TestFetch_EndToEnd/testing_status_503\n=== RUN   TestFetch_EndToEnd/testing_status_n/a\n--- PASS: TestFetch_EndToEnd (2.53s)\n    --- PASS: TestFetch_EndToEnd/testing_status_200 (0.70s)\n    --- PASS: TestFetch_EndToEnd/testing_status_400 (0.38s)\n    --- PASS: TestFetch_EndToEnd/testing_status_401 (0.34s)\n    --- PASS: TestFetch_EndToEnd/testing_status_404 (0.32s)\n    --- PASS: TestFetch_EndToEnd/testing_status_503 (0.31s)\n    --- PASS: TestFetch_EndToEnd/testing_status_n/a (0.47s)\n=== RUN   ExampleFirstWorker\n--- PASS: ExampleFirstWorker (1.82s)\n=== RUN   ExampleSecondWorker\n--- PASS: ExampleSecondWorker (1.08s)\n=== RUN   ExampleThirdWorker\n--- PASS: ExampleThirdWorker (1.02s)\n=== RUN   ExampleFourthWorker\n--- PASS: ExampleFourthWorker (1.04s)\nPASS\ncoverage: 85.5% of statements\nok      github.com/jeamon/gofetching  13.692s\n\n```\n\n\n## License\n\nPlease check \u0026 read [the license details](https://github.com/jeamon/gofetching/blob/master/LICENSE) \n\n\n## Contact\n\nFeel free to [reach out to me](https://blog.cloudmentor-scale.com/contact) before any action.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeamon%2Fgofetching","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeamon%2Fgofetching","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeamon%2Fgofetching/lists"}