Skip to content

Commit 818aede

Browse files
committed
Give away the temp file ownership to the image upload process, increase upload concurrency and better logs
1 parent c436bcf commit 818aede

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

priv/repo/seeds_development.exs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ defmodule Philomena.DevSeeds do
131131
file = Briefly.create!()
132132
now = DateTime.utc_now() |> DateTime.to_unix(:microsecond)
133133

134-
IO.puts("Fetching #{image_def["url"]} ...")
134+
IO.puts("[Images] Fetching #{image_def["url"]} ...")
135135
{:ok, %{body: body}} = PhilomenaProxy.Http.get(image_def["url"])
136136

137137
File.write!(file, body)
@@ -142,24 +142,27 @@ defmodule Philomena.DevSeeds do
142142
filename: "fixtures-#{now}"
143143
}
144144

145-
IO.puts("Inserting ...")
145+
IO.puts("[Images] Creating image ...")
146146

147147
Images.create_image(pleb_attrs, Map.merge(image_def, %{"image" => upload}))
148148
|> case do
149-
{:ok, %{image: image}} ->
149+
{:ok, %{image: image, upload_pid: upload_pid}} ->
150+
# Delete the temp file only after the async image upload finishes
151+
Briefly.give_away(file, upload_pid)
152+
150153
Images.approve_image(image)
151154
Images.reindex_image(image)
152155
Tags.reindex_tags(image.added_tags)
153156

154-
IO.puts("Created image ##{image.id}")
157+
IO.puts("[Images] Created image ##{image.id}")
155158

156159
{:error, :image, changeset, _so_far} ->
157160
IO.inspect(changeset.errors)
158161
end
159162
end
160163

161164
images
162-
|> Task.async_stream(ingest_image, max_concurrency: 20, ordered: false)
165+
|> Task.async_stream(ingest_image, max_concurrency: 100, ordered: false)
163166
|> Stream.run()
164167
end
165168

0 commit comments

Comments
 (0)