Janet 1.39.1-e9c6678 Documentation
(Other Versions:
1.38.0
1.37.1
1.36.0
1.35.0
1.34.0
1.31.0
1.29.1
1.28.0
1.27.0
1.26.0
1.25.1
1.24.0
1.23.0
1.22.0
1.21.0
1.20.0
1.19.0
1.18.1
1.17.1
1.16.1
1.15.0
1.13.1
1.12.2
1.11.1
1.10.1
1.9.1
1.8.1
1.7.0
1.6.0
1.5.1
1.5.0
1.4.0
1.3.1
)
services
Module for running a number of background processes in a controlled manner. Similar to ev-utils, but more involved with defaults for IO and naming fibers for debugging purposes.
Services can also implicitly launch sibling or child services if needed.
Reference
services/*current-manager* services/*current-service* services/add-service services/all-services services/get-manager services/get-service services/make-manager services/print-all services/remove-service services/set-title services/start-service services/stop-service services/wait
services/add-service function source
(add-service service-name main-function & args) Spawn a service
services/get-manager function source
(get-manager) Get the current manager. If no manager exists, create one.
services/get-service function source
(get-service) Get the current service. If not in a service, raise an error
services/make-manager function source
(make-manager &opt log-dir) Group a number of fibers into a single object for structured concurrency. Also includes utilities for running services like servers in the background.
services/print-all function source
(print-all &opt filter-fn) Print a table of all running services.
services/set-title function source
(set-title title) Set a textual description of the service to describe what it is doing currently
services/stop-service function source
(stop-service service-name &opt reason) Stop a running service
services/wait function source
(wait) Once a number of services have been spawned, call `wait` to block the fiber until the manager is canceled. This lets a manager fiber behave as a service itself.