commit: 14b4bd69a83846b3c117624851b96b9fc30528bf
parent 3b639b467e8c57e3875b273359d63c014671302a
Author: Mark Felder <feld@feld.me>
Date: Wed, 29 May 2024 10:44:34 -0400
Add additional flags to the Pleroma.Search.Indexer Mix task
Diffstat:
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/changelog.d/mix-indexer.add b/changelog.d/mix-indexer.add
@@ -0,0 +1 @@
+Permit passing --chunk and --step values to the Pleroma.Search.Indexer Mix task
diff --git a/lib/mix/tasks/pleroma/search/indexer.ex b/lib/mix/tasks/pleroma/search/indexer.ex
@@ -33,15 +33,18 @@ defmodule Mix.Tasks.Pleroma.Search.Indexer do
OptionParser.parse(
options,
strict: [
- limit: :integer
+ chunk: :integer,
+ limit: :integer,
+ step: :integer
]
)
start_pleroma()
+ chunk_size = Keyword.get(options, :chunk, 100)
limit = Keyword.get(options, :limit, 100_000)
+ per_step = Keyword.get(options, :step, 1000)
- per_step = 1000
chunks = max(div(limit, per_step), 1)
1..chunks
@@ -65,7 +68,7 @@ defmodule Mix.Tasks.Pleroma.Search.Indexer do
IO.puts("Got #{length(ids)} activities, adding to indexer")
ids
- |> Enum.chunk_every(100)
+ |> Enum.chunk_every(chunk_size)
|> Enum.each(fn chunk ->
IO.puts("Adding #{length(chunk)} activities to indexing queue")