defmodule Plausible.Workers.LockSites do use Plausible.Repo use Oban.Worker, queue: :lock_sites @impl Oban.Worker def perform(_job) do subscription_q = from(s in Plausible.Billing.Subscription, order_by: [desc: s.inserted_at]) users = Repo.all(from u in Plausible.Auth.User, preload: [subscription: ^subscription_q]) for user <- users do Plausible.Billing.SiteLocker.update_sites_for(user) end :ok end end