forked from AkkomaGang/akkoma
Use Pleroma.Repo.chunk_stream/2
instead of Pleroma.RepoStreamer.chunk_stream/2
This commit is contained in:
parent
e50314d9d3
commit
a9efd441e2
1 changed files with 11 additions and 12 deletions
|
@ -188,19 +188,18 @@ defp write(query, dir, name, fun) do
|
||||||
|
|
||||||
with {:ok, file} <- File.open(path, [:write, :utf8]),
|
with {:ok, file} <- File.open(path, [:write, :utf8]),
|
||||||
:ok <- write_header(file, name) do
|
:ok <- write_header(file, name) do
|
||||||
counter = :counters.new(1, [])
|
total =
|
||||||
|
|
||||||
query
|
query
|
||||||
|> Pleroma.Repo.chunk_stream(100)
|
|> Pleroma.Repo.chunk_stream(100)
|
||||||
|> Enum.each(fn i ->
|
|> Enum.reduce(0, fn i, acc ->
|
||||||
with {:ok, str} <- fun.(i),
|
with {:ok, str} <- fun.(i),
|
||||||
:ok <- IO.write(file, str <> ",\n") do
|
:ok <- IO.write(file, str <> ",\n") do
|
||||||
:counters.add(counter, 1, 1)
|
acc + 1
|
||||||
|
else
|
||||||
|
_ -> acc
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
total = :counters.get(counter, 1)
|
|
||||||
|
|
||||||
with :ok <- :file.pwrite(file, {:eof, -2}, "\n],\n \"totalItems\": #{total}}") do
|
with :ok <- :file.pwrite(file, {:eof, -2}, "\n],\n \"totalItems\": #{total}}") do
|
||||||
File.close(file)
|
File.close(file)
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue