20240729163838_publisher_job_change.exs (700B)
- defmodule Pleroma.Repo.Migrations.PublisherJobChange do
- use Ecto.Migration
- alias Pleroma.Activity
- alias Pleroma.Repo
- 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 = Repo.all(query)
- Enum.each(jobs, fn job ->
- args = job.args
- case Activity.get_by_ap_id(args["id"]) do
- nil ->
- :ok
- %Activity{id: activity_id} ->
- updated_args = Map.put(args, "activity_id", activity_id)
- Pleroma.Workers.PublisherWorker.new(updated_args)
- |> Oban.insert()
- end
- end)
- end
- end