package sihl
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=e77ffae26dac04e446ff07854de68a03edfd05031b5cb0dbcb6dc4a96e2d1c8e
sha512=7682c55136dbb8c68517ccd2c157a3556d966cb8565d15cf21ab270f92ea7e9ee5d3ac1479ba2e34a80f3052ca5dd1a74e964a8764c2164e3e71e9048fcdf51b
doc/sihl.core/Sihl_core/App/index.html
Module Sihl_core.App
Source
A module to create Sihl apps.
An app is a thin convenience layer on top of the service container. It provides hooks that are executed at different stages in the app lifecycle.
with_services services app
adds services
to an app
.
before_start f app
registers a callback f with app
. The callback is executed before any service is started. This means you must not use any services here!
after_start f app
registers a callback f with app
. The callback is executed after all services are started. You can safely use services here.
before_stop f app
registers a callback f with app
. The callback is executed before all services are stopped. You can safely use services here.
after_stop f app
registers a callback f with app
. The callback is executed before after services are stopped. This means you must not use any services here!
val run :
?commands:Command.t list ->
?log_reporter:(unit -> Logs.reporter) ->
?args:string list ->
t ->
unit
run ?commands ?log_reporter app
is the main entry point to a Sihl app and starts the command line interface with commands
merged with the commands provided by services.
An optional log_reporter
can be provided to change the logging behavior. The default log reporter logs to stdout.
val run' :
?commands:Command.t list ->
?log_reporter:(unit -> Logs.reporter) ->
?args:string list ->
t ->
unit Lwt.t
run' ?commands ?log_reporter app
is analogous to run
. It is a helper to be used in tests that need Lwt.t
.