Using a module¶
A module is a service that expands into a whole set of services, brought up as an
instance. For what a module is for and when to reach for
one, see module services; to build your own, see
creating a module. This page is the user's side — how to run,
configure and manage one. The running example is webapp@, the module built there: a web
application instance made of a server and an optional worker.
Starting an instance¶
A module is instantiated like any other instantiated service — the name after the @ is the
instance:
66 start webapp@blog
webapp@ is the module, blog the instance. If it was never parsed before, 66 parses it
first, with the module author's default configuration.
You usually enable it so it comes back on the next boot:
66 enable webapp@blog
or enable and start in one pass:
66 enable -S webapp@blog
Configuring an instance¶
The point of a module is that each instance is configurable. Its tunables are the
variables of the module's [Environment] — for webapp@, whether the worker runs. Edit them
with 66 configure:
66 configure webapp@blog
Changes do not take effect until you re-parse the instance with 66 reconfigure:
66 reconfigure webapp@blog
Run reconfigure every time you change an instance's configuration; until you do, the
instance keeps its previous one. Setting WEBAPP_WORKER=no and reconfiguring, for example,
drops the worker from webapp@blog on the next parse.
Managing the services inside a module¶
Starting a module starts several services at once. List them with
66 status — the contents field holds the services the instance expanded
to:
66 status webapp@blog
Address any one of them with the module:service name — the module instance, a colon, and
the inside service:
66 stop webapp@blog:worker
The colon separates the instance (webapp@blog) from the inside service (worker); it is the
service's real, stored name, so every 66 command accepts it:
66 restart webapp@blog:server
If an inside service is itself instantiated, give its full name after the colon:
66 reload webapp@blog:cache@ro