33 lines
1.0 KiB
Elixir
33 lines
1.0 KiB
Elixir
|
defmodule Pleroma.Repo.Migrations.ObanQueuesRefactor do
|
||
|
use Ecto.Migration
|
||
|
|
||
|
@changed_queues [
|
||
|
{"attachments_cleanup", "slow"},
|
||
|
{"mailer", "background"},
|
||
|
{"mute_expire", "background"},
|
||
|
{"poll_notifications", "background"},
|
||
|
{"activity_expiration", "slow"},
|
||
|
{"filter_expiration", "background"},
|
||
|
{"token_expiration", "background"},
|
||
|
{"remote_fetcher", "background"},
|
||
|
{"rich_media_expiration", "background"}
|
||
|
]
|
||
|
|
||
|
def up do
|
||
|
Enum.each(@changed_queues, fn {old, new} ->
|
||
|
execute("UPDATE oban_jobs SET queue = '#{new}' WHERE queue = '#{old}';")
|
||
|
end)
|
||
|
|
||
|
# Handled special as reverting this would not be ideal and leaving it is harmless
|
||
|
execute(
|
||
|
"UPDATE oban_jobs SET queue = 'federator_outgoing' WHERE queue = 'scheduled_activities';"
|
||
|
)
|
||
|
end
|
||
|
|
||
|
def down do
|
||
|
# Just move all slow queue jobs to background queue if we are reverting
|
||
|
# as the slow queue will not be processing jobs
|
||
|
execute("UPDATE oban_jobs SET queue = 'background' WHERE queue = 'slow';")
|
||
|
end
|
||
|
end
|