Purge Rejected Follow requests in daily task (#334)
[akkoma] / lib / pleroma / workers / cron / database_prune_worker.ex
1 defmodule Pleroma.Workers.Cron.PruneDatabaseWorker do
2 @moduledoc """
3 The worker to prune old data from the database.
4 """
5 require Logger
6 use Oban.Worker, queue: "database_prune"
7
8 alias Pleroma.Activity.Pruner, as: ActivityPruner
9 alias Pleroma.Object.Pruner, as: ObjectPruner
10
11 @impl Oban.Worker
12 def perform(_job) do
13 Logger.info("Pruning old data from the database")
14
15 Logger.info("Pruning old deletes")
16 ActivityPruner.prune_deletes()
17
18 Logger.info("Pruning old follow requests")
19 ActivityPruner.prune_stale_follow_requests()
20
21 Logger.info("Pruning old undos")
22 ActivityPruner.prune_undos()
23
24 Logger.info("Pruning old removes")
25 ActivityPruner.prune_removes()
26
27 Logger.info("Pruning old tombstone delivery entries")
28 ObjectPruner.prune_tombstoned_deliveries()
29
30 Logger.info("Pruning old tombstones")
31 ObjectPruner.prune_tombstones()
32
33 :ok
34 end
35 end