don't fully start pleroma in mix tasks
This commit is contained in:
parent
6335b32aa8
commit
72ad3a66f4
5 changed files with 27 additions and 2 deletions
|
@ -3,6 +3,8 @@
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
|
||||||
defmodule Mix.Pleroma do
|
defmodule Mix.Pleroma do
|
||||||
|
@apps [:restarter, :ecto, :ecto_sql, :postgrex, :db_connection, :cachex]
|
||||||
|
@cachex_childs ["object", "user"]
|
||||||
@doc "Common functions to be reused in mix tasks"
|
@doc "Common functions to be reused in mix tasks"
|
||||||
def start_pleroma do
|
def start_pleroma do
|
||||||
Application.put_env(:phoenix, :serve_endpoints, false, persistent: true)
|
Application.put_env(:phoenix, :serve_endpoints, false, persistent: true)
|
||||||
|
@ -11,7 +13,23 @@ def start_pleroma do
|
||||||
Application.put_env(:logger, :console, level: :debug)
|
Application.put_env(:logger, :console, level: :debug)
|
||||||
end
|
end
|
||||||
|
|
||||||
{:ok, _} = Application.ensure_all_started(:pleroma)
|
apps =
|
||||||
|
if Application.get_env(:tesla, :adapter) == Tesla.Adapter.Gun do
|
||||||
|
[:gun | @apps]
|
||||||
|
else
|
||||||
|
[:hackney | @apps]
|
||||||
|
end
|
||||||
|
|
||||||
|
Enum.each(apps, &Application.ensure_all_started/1)
|
||||||
|
|
||||||
|
childs = [Pleroma.Repo, Pleroma.Config.TransferTask, Pleroma.Web.Endpoint]
|
||||||
|
|
||||||
|
cachex_childs = Enum.map(@cachex_childs, &Pleroma.Application.build_cachex(&1, []))
|
||||||
|
|
||||||
|
Supervisor.start_link(childs ++ cachex_childs,
|
||||||
|
strategy: :one_for_one,
|
||||||
|
name: Pleroma.Supervisor
|
||||||
|
)
|
||||||
|
|
||||||
if Pleroma.Config.get(:env) not in [:test, :benchmark] do
|
if Pleroma.Config.get(:env) not in [:test, :benchmark] do
|
||||||
pleroma_rebooted?()
|
pleroma_rebooted?()
|
||||||
|
|
|
@ -7,6 +7,8 @@ defmodule Mix.Tasks.Pleroma.Digest do
|
||||||
|
|
||||||
def run(["test", nickname | opts]) do
|
def run(["test", nickname | opts]) do
|
||||||
Mix.Pleroma.start_pleroma()
|
Mix.Pleroma.start_pleroma()
|
||||||
|
Application.ensure_all_started(:timex)
|
||||||
|
Application.ensure_all_started(:swoosh)
|
||||||
|
|
||||||
user = Pleroma.User.get_by_nickname(nickname)
|
user = Pleroma.User.get_by_nickname(nickname)
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ defmodule Mix.Tasks.Pleroma.Email do
|
||||||
|
|
||||||
def run(["test" | args]) do
|
def run(["test" | args]) do
|
||||||
Mix.Pleroma.start_pleroma()
|
Mix.Pleroma.start_pleroma()
|
||||||
|
Application.ensure_all_started(:swoosh)
|
||||||
|
|
||||||
{options, [], []} =
|
{options, [], []} =
|
||||||
OptionParser.parse(
|
OptionParser.parse(
|
||||||
|
|
|
@ -12,6 +12,7 @@ defmodule Mix.Tasks.Pleroma.Relay do
|
||||||
|
|
||||||
def run(["follow", target]) do
|
def run(["follow", target]) do
|
||||||
start_pleroma()
|
start_pleroma()
|
||||||
|
Application.ensure_all_started(:flake_id)
|
||||||
|
|
||||||
with {:ok, _activity} <- Relay.follow(target) do
|
with {:ok, _activity} <- Relay.follow(target) do
|
||||||
# put this task to sleep to allow the genserver to push out the messages
|
# put this task to sleep to allow the genserver to push out the messages
|
||||||
|
@ -23,6 +24,7 @@ def run(["follow", target]) do
|
||||||
|
|
||||||
def run(["unfollow", target]) do
|
def run(["unfollow", target]) do
|
||||||
start_pleroma()
|
start_pleroma()
|
||||||
|
Application.ensure_all_started(:flake_id)
|
||||||
|
|
||||||
with {:ok, _activity} <- Relay.unfollow(target) do
|
with {:ok, _activity} <- Relay.unfollow(target) do
|
||||||
# put this task to sleep to allow the genserver to push out the messages
|
# put this task to sleep to allow the genserver to push out the messages
|
||||||
|
@ -34,6 +36,7 @@ def run(["unfollow", target]) do
|
||||||
|
|
||||||
def run(["list"]) do
|
def run(["list"]) do
|
||||||
start_pleroma()
|
start_pleroma()
|
||||||
|
Application.ensure_all_started(:flake_id)
|
||||||
|
|
||||||
with {:ok, list} <- Relay.list(true) do
|
with {:ok, list} <- Relay.list(true) do
|
||||||
list |> Enum.each(&shell_info(&1))
|
list |> Enum.each(&shell_info(&1))
|
||||||
|
|
|
@ -162,7 +162,8 @@ defp idempotency_expiration,
|
||||||
defp seconds_valid_interval,
|
defp seconds_valid_interval,
|
||||||
do: :timer.seconds(Config.get!([Pleroma.Captcha, :seconds_valid]))
|
do: :timer.seconds(Config.get!([Pleroma.Captcha, :seconds_valid]))
|
||||||
|
|
||||||
defp build_cachex(type, opts),
|
@spec build_cachex(String.t(), keyword()) :: map()
|
||||||
|
def build_cachex(type, opts),
|
||||||
do: %{
|
do: %{
|
||||||
id: String.to_atom("cachex_" <> type),
|
id: String.to_atom("cachex_" <> type),
|
||||||
start: {Cachex, :start_link, [String.to_atom(type <> "_cache"), opts]},
|
start: {Cachex, :start_link, [String.to_atom(type <> "_cache"), opts]},
|
||||||
|
|
Loading…
Reference in a new issue