edeliver v1.5.1 Edeliver.Relup.Instructions.ResumeRanchAcceptors

This upgrade instruction resumes the ranch acceptors

which were suspended by the

Edeliver.Relup.Instructions.SuspendRanchAcceptors

instruction at the beginning of the upgrade. Because real suspending of ranch acceptors is not possible because ranch acceptors do not handle sys messages, they were actually terminated and are restarted by this relup instruction.

Link to this section Summary

Functions

Returns name of the application

Calls the run/1 function of this module

Returns a function which inserts the relup instruction

Modifies the relup file

Resumes the ranch acceptor supervisor and restarts all ranch acceptors

Link to this section Functions

Link to this function arguments(instructions, config)
arguments(
  %Edeliver.Relup.Instructions{
    changed_modules: term(),
    down_instructions: term(),
    down_version: term(),
    up_instructions: term(),
    up_version: term()
  },
  Edeliver.Relup.Config.t()
) :: term()

Returns name of the application.

This name is taken as argument for the run/1 function and is required to access the acceptor processes through the supervision tree

Link to this function call_this(arguments \\ [])
call_this(arguments :: [term()]) ::
  Instruction.instruction() | Instruction.instructions()

Calls the run/1 function of this module

from the relup file during hot code upgrade

Link to this function dependencies()
dependencies() :: [instruction_module :: atom()]
dependencies() :: [Edeliver.Relup.Instructions.CheckRanchAcceptors]

This module requires the Edeliver.Relup.Instructions.CheckRanchAcceptors module

which must be loaded before this instruction for upgrades and unload after this instruction for downgrades.

Link to this function insert_where()
insert_where() :: Instruction.insert_fun()

Returns a function which inserts the relup instruction

that calls the Edeliver.Relup.RunnableInstruction.run/1 fuction of this module. Default is inserting it at the end of the instructions

Callback implementation for Edeliver.Relup.RunnableInstruction.insert_where/0.

Link to this function modify_relup(instructions, config)

Modifies the relup file.

Modifies the relup file which will be used to upgrade (or downgrade) from one version to another by inserting, removing, or shifting appup instructions. See Edeliver.Relup.InsertInstruction and Edeliver.Relup.ShiftInstruction for useful helpers to insert / position the instructions and Edeliver.Relup.RunnableInstruction to execute custom code during the upgrade.

Callback implementation for Edeliver.Relup.Instruction.modify_relup/2.

Link to this function run(otp_application_name)
run(otp_application_name :: atom()) :: :ok

Resumes the ranch acceptor supervisor and restarts all ranch acceptors

to enable accepting new requests / connections again after the upgrade.