edeliver_fork v1.4.6 Edeliver.Relup.Instructions.RerunFailedRequests
Runs phoenix requests again which failed during hot code upgrade.
This upgrade instruction notifies request processes
which were handling requests while new code was loaded
that they can be rerun if they failed during the upgrade.
It is required that a phoenix
version is used
which supports the upgrade notification feature.
This instruction should be used in conjunction with and
after the
Edeliver.Relup.Instructions.FinishRunningRequests
instruction which notifies the request processes that the code upgrade is started.
To make sure that the http request connections can be found on the node, use this instruction after the
Edeliver.Relup.Instructions.CheckRanchConnections
instruction which will abort the upgrade if the http request connections accepted by ranch cannot be found in the supervision tree.
Link to this section Summary
Functions
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
Calls the run/1
function of this module
This module depends on the Edeliver.Relup.Instructions.CheckRanchAcceptors
,
the Edeliver.Relup.Instructions.CheckRanchConnections
and the
Edeliver.Relup.Instructions.FinishRunningRequests
module which must be loaded
before this instruction for upgrades and unload after this instruction for downgrades
Returns a function which inserts the relup instruction
Modifies the relup file
Notifies request processes which handled http requests during the release upgrade / downgrade that the code loading is finished and that requests that failed during the code loading can be now rerun with the updated code
Link to this section Functions
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
call_this(arguments :: [term()]) :: Instruction.instruction() | Instruction.instructions()
Calls the run/1
function of this module
from the relup file during hot code upgrade
dependencies() :: [instruction_module :: atom()]
dependencies() :: [Edeliver.Relup.Instructions.CheckRanchAcceptors]
This module depends on the Edeliver.Relup.Instructions.CheckRanchAcceptors
,
the Edeliver.Relup.Instructions.CheckRanchConnections
and the
Edeliver.Relup.Instructions.FinishRunningRequests
module which must be loaded
before this instruction for upgrades and unload after this instruction for downgrades.
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
.
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
.
Notifies request processes which handled http requests during the release upgrade / downgrade that the code loading is finished and that requests that failed during the code loading can be now rerun with the updated code.