# Module cloudi_core_i_services_monitor

- Description
- Function Index
- Function Details

### CloudI Services

Manage all cloudi_core_i_spawn processes with monitors and their configuration.

Copyright © 2011-2021 Michael Truog

Version: 2.0.2 Dec 3 2021 17:15:34 ------------------------------------------------------------------------

Behaviours: `gen_server`.

Authors: Michael Truog (`mjtruog at protonmail dot com`).

## Description

### CloudI Services

Manage all cloudi_core_i_spawn processes with monitors and their configuration. Perform process restarts but do not escalate failures (only log failures).

## Function Index

code_change/3 |
handle_call/3 |
handle_cast/2 |
handle_info/2 |
init/1 |
monitor/14 |
node_status/1 |
pids/2 |
process_decrease/5 |
process_increase/5 |
process_init_begin/1 |
process_init_end/1 |
process_init_end/2 |
process_terminate_begin/2 |
process_terminate_begin/3 |
restart/2 |
resume/2 |
search/2 |
shutdown/2 |
start_link/0 |
status/2 |
suspend/2 |
terminate/2 |
update/2 |

## Function Details

### code_change/3

`code_change(X1, State, X3) -> any()`

### handle_call/3

`handle_call(Request, X2, State) -> any()`

### handle_cast/2

`handle_cast(Request, State) -> any()`

### handle_info/2

`handle_info(Restart_stage2, State) -> any()`

### init/1

`init(X1) -> any()`

### monitor/14

`monitor(M::cloudi_core_i_spawn, F::start_internal | start_external, A::list(), ProcessIndex::non_neg_integer(), CountProcess::pos_integer(), CountThread::pos_integer(), Scope::atom(), TimeoutTerm::cloudi_service_api:timeout_terminate_value_milliseconds(), RestartAll::boolean(), RestartDelay::tuple() | false, MaxR::non_neg_integer(), MaxT::non_neg_integer(), ServiceId::uuid:uuid(), Timeout::infinity | pos_integer()) -> {ok, [pid()]} | {error, any()}`

### node_status/1

`node_status(Timeout) -> any()`

### pids/2

`pids(ServiceId, Timeout) -> any()`

### process_decrease/5

`process_decrease(Pid, Period, RateCurrent, RateMin, CountProcessMin) -> any()`

### process_increase/5

`process_increase(Pid, Period, RateCurrent, RateMax, CountProcessMax) -> any()`

### process_init_begin/1

`process_init_begin(Pids::[pid() | [pid(), ...]]) -> ok`

### process_init_end/1

`process_init_end(Pid::pid()) -> ok`

### process_init_end/2

`process_init_end(Pid::pid(), OSPid::undefined | pos_integer()) -> ok`

### process_terminate_begin/2

`process_terminate_begin(Pid::pid(), Reason::any()) -> ok`

### process_terminate_begin/3

`process_terminate_begin(Pid::pid(), OSPid::undefined | pos_integer(), Reason::any()) -> ok`

### restart/2

`restart(ServiceId, Timeout) -> any()`

### resume/2

`resume(ServiceId, Timeout) -> any()`

### search/2

`search(PidList, Timeout) -> any()`

### shutdown/2

`shutdown(ServiceId, Timeout) -> any()`

### start_link/0

`start_link() -> any()`

### status/2

`status(ServiceIdList, Timeout) -> any()`

### suspend/2

`suspend(ServiceId, Timeout) -> any()`

### terminate/2

`terminate(X1, X2) -> any()`

### update/2

`update(UpdatePlan, Timeout) -> any()`

Generated by EDoc