28 lines
628 B
Elixir
28 lines
628 B
Elixir
|
defmodule Pleroma.Repo.Migrations.PublisherJobChange do
|
||
|
use Ecto.Migration
|
||
|
|
||
|
alias Pleroma.Activity
|
||
|
import Ecto.Query
|
||
|
|
||
|
def up do
|
||
|
query =
|
||
|
from(j in Oban.Job,
|
||
|
where: j.worker == "Pleroma.Workers.PublisherWorker",
|
||
|
where: j.state in ["available", "retryable"]
|
||
|
)
|
||
|
|
||
|
jobs =
|
||
|
Oban |> Oban.config() |> Oban.Repo.all(query)
|
||
|
|
||
|
Enum.each(jobs, fn job ->
|
||
|
args = job.args
|
||
|
activity = Activity.get_by_ap_id(args["id"])
|
||
|
|
||
|
updated_args = Map.put(args, "activity_id", activity.id)
|
||
|
|
||
|
Pleroma.Workers.PublisherWorker.new(updated_args)
|
||
|
|> Oban.insert()
|
||
|
end)
|
||
|
end
|
||
|
end
|