Module cloudi_service_shell

CloudI Shell Service

For ensuring each shell command-line is executed correctly, it is best to keep the interactive argument set to false (the default) so each service request uses its own shell.

Use the interactive argument if you need to utilize a programming language interpreter.

Copyright © 2019-2023 Michael Truog

Version: 2.0.6 Jun 20 2023 22:32:03 ------------------------------------------------------------------------

Behaviours: cloudi_service.

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

Description

CloudI Shell Service

For ensuring each shell command-line is executed correctly, it is best to keep the interactive argument set to false (the default) so each service request uses its own shell.

Use the interactive argument if you need to utilize a programming language interpreter. For example, SBCL could be used with exec /usr/bin/sbcl --noinform --disable-debugger --eval '(setf sb-int:*repl-prompt-fun* (lambda (stream) (format stream \"~&\")))' and Python could be used with exec /usr/bin/python3 -ui -c 'import sys; sys.ps1 = sys.ps2 = \"\"'.

Data Types

agent()

agent() = cloudi:agent()

module_response()

module_response(Result) = {{ok, Result}, AgentNew::agent()} | {{error, cloudi:error_reason()}, AgentNew::agent()}

service_name()

service_name() = cloudi:service_name()

timeout_period()

timeout_period() = cloudi:timeout_period()

Function Index

cloudi_service_handle_info/3
cloudi_service_handle_request/11
cloudi_service_init/4
cloudi_service_terminate/3
exec/3
exec/4
validate_response/2

Function Details

cloudi_service_handle_info/3

cloudi_service_handle_info(X1, State, Dispatcher) -> any()

cloudi_service_handle_request/11

cloudi_service_handle_request(RequestType, Name, Pattern, RequestInfo, Request, Timeout, Priority, TransId, Source, State, Dispatcher) -> any()

cloudi_service_init/4

cloudi_service_init(Args, Prefix, Timeout, Dispatcher) -> any()

cloudi_service_terminate/3

cloudi_service_terminate(Reason, Timeout, State) -> any()

exec/3

exec(Agent::agent(), Prefix::service_name(), Command::nonempty_string() | binary()) -> module_response(binary())

exec/4

exec(Agent::agent(), Prefix::service_name(), Command::nonempty_string() | binary(), Timeout::timeout_period()) -> module_response(binary())

validate_response/2

validate_response(X1::cloudi_service:response_info(), Response::cloudi_service:response()) -> boolean()


Generated by EDoc