Skip to content

Commit ddda199

Browse files
committed
Code for step 7
1 parent caa08c6 commit ddda199

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

stress_test.exs

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
wait_time_per_query_ms = 75
2+
number_of_queries = 1..10_000
3+
miles_to_search = 1..50
4+
5+
valid_zips =
6+
"#{__DIR__}/priv/repo/wa_zip_codes.csv"
7+
|> File.read!()
8+
|> String.split("\n")
9+
|> Enum.filter(fn line -> String.trim(line) != "" end)
10+
|> Enum.map(fn csv_line ->
11+
[zip, _city, _state, _lat, _long, _tz, _dst] =
12+
csv_line
13+
|> String.replace("\"", "")
14+
|> String.replace("\n", "")
15+
|> String.split(",")
16+
17+
zip
18+
end)
19+
20+
:inets.start()
21+
22+
Enum.each(number_of_queries, fn count ->
23+
radius = Enum.random(miles_to_search)
24+
zip = Enum.random(valid_zips)
25+
26+
url =
27+
String.to_charlist(
28+
"http://localhost:4000/api/breweries?zip_code=#{zip}&mile_radius=#{radius}"
29+
)
30+
31+
:httpc.request(:get, {url, []}, [], [])
32+
33+
if rem(count, 100) == 0, do: IO.puts("Made #{count} zip code requests")
34+
35+
:timer.sleep(wait_time_per_query_ms)
36+
end)

0 commit comments

Comments
 (0)