edeliver v1.4.5 Edeliver.Relup.Instructions.Sleep

This upgrade instruction is intended for testing only

and just sleeps the given amount of seconds. This can be used to test instructions which suspend processes at the beginning of the upgrade before the new code is installed. Usage:

  Edeliver.Relup.Instructions.Sleep.modify_relup(config, _seconds = 30)

It prints a countown in the upgrade script which was started by the $APP/bin/$APP upgarde $RELEASE command.

Link to this section Summary

Functions

Returns the arguments which will be passed the Edeliver.Relup.RunnableInstruction.run/1 function during the upgrade

Calls the run/1 function of this module

Returns a list of module names which implement the behaviour Edeliver.Relup.RunnableInstruction

Appends this instruction to the instructions after the “point of no return”

Modifies the relup file

Waits the given amount of seconds and prints a countdown

Link to this section Functions

Link to this function arguments(instructions, map)
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 the arguments which will be passed the Edeliver.Relup.RunnableInstruction.run/1 function during the upgrade.

Default is an empty list.

Callback implementation for Edeliver.Relup.RunnableInstruction.arguments/2.

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()]

Returns a list of module names which implement the behaviour Edeliver.Relup.RunnableInstruction

and are used / referenced by this runnable instruction. These modules must be loaded before this instruction is executed for upgrades and unloaded after this instruction for downgrades. Default is an empty list.

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

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

Appends this instruction to the instructions after the “point of no return”

but before any instruction which loads or unloads new code, (re-)starts or stops any running processes, or (re-)starts or stops any application or the emulator.

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 modify_relup(instructions, config, seconds \\ 30)
modify_relup(
  instructions :: Edeliver.Relup.Instructions.t(),
  config :: Edeliver.Relup.Config.t(),
  seconds :: integer()
) :: Edeliver.Relup.Instructions.t()
Link to this function run(seconds)
run(seconds :: integer()) :: :ok

Waits the given amount of seconds and prints a countdown

in the upgrade script which was started by the $APP/bin/$APP upgarde $RELEASE command.