Add additional flags to the Pleroma.Search.Indexer Mix task

This commit is contained in:
Mark Felder 2024-05-29 10:44:34 -04:00
parent 3b639b467e
commit 14b4bd69a8
2 changed files with 7 additions and 3 deletions

View file

@ -0,0 +1 @@
Permit passing --chunk and --step values to the Pleroma.Search.Indexer Mix task

View file

@ -33,15 +33,18 @@ defmodule Mix.Tasks.Pleroma.Search.Indexer do
OptionParser.parse( OptionParser.parse(
options, options,
strict: [ strict: [
limit: :integer chunk: :integer,
limit: :integer,
step: :integer
] ]
) )
start_pleroma() start_pleroma()
chunk_size = Keyword.get(options, :chunk, 100)
limit = Keyword.get(options, :limit, 100_000) limit = Keyword.get(options, :limit, 100_000)
per_step = Keyword.get(options, :step, 1000)
per_step = 1000
chunks = max(div(limit, per_step), 1) chunks = max(div(limit, per_step), 1)
1..chunks 1..chunks
@ -65,7 +68,7 @@ defmodule Mix.Tasks.Pleroma.Search.Indexer do
IO.puts("Got #{length(ids)} activities, adding to indexer") IO.puts("Got #{length(ids)} activities, adding to indexer")
ids ids
|> Enum.chunk_every(100) |> Enum.chunk_every(chunk_size)
|> Enum.each(fn chunk -> |> Enum.each(fn chunk ->
IO.puts("Adding #{length(chunk)} activities to indexing queue") IO.puts("Adding #{length(chunk)} activities to indexing queue")