When an action in a list of actions fails, one can specify an alternate list of actions that will be performed to recover from the failure of the given action. These actions are referred to as action_fail actions, and are associated with each individual action. The action_fail actions are essentially the same set of actions that would normally be executed with the exception of ham_action_restart() and ham_action_heartbeat_healthy()). Here's the list of action fail actions:
Action | Description |
---|---|
ham_action_fail_execute() | Executes an arbitrary command (e.g., to start a process). |
ham_action_fail_notify_pulse() | Notifies some process that this condition has occurred. This notification is sent using a specific pulse with a value specified by the process that wished to receive this notify message. Pulses can be delivered to remote nodes by specifying the appropriate node specifier. |
ham_action_fail_notify_signal() | Notifies some process that this condition has occurred. This notification is sent using a specific realtime signal with a value specified by the process that wished to receive this notify message. Signals can be delivered to remote nodes by specifying the appropriate node specifier. |
ham_action_fail_notify_pulse_node() | This is the same as the ham_action_fail_notify_pulse() described above, except that the node name specified for the recipient of the pulse can be given using the fully qualified node name instead of the node identifier. |
ham_action_fail_notify_signal_node() | This is the same as the ham_action_fail_notify_signal() described above, except that the node name specified for the recipient of the signal can be given using the fully qualified node name instead of the node identifier. |
ham_action_fail_waitfor() | This action lets you insert delays between consecutive actions in a sequence. You can also wait for certain names to appear in the namespace. |
ham_action_fail_log() | This allows one to insert a customizable verbosity message into the activity log maintained by a HAM. |