System Services =============== Starting the services --------------------- Once the system is properly configured (see :ref:`conf`), you can start, stop or restart any of the services. The operations to do so are different in Linux and MacOS. Both require root or sudo privilege. Linux ^^^^^ On Linux, to start the scheduler service you would run:: $ systemctl start scheduler and similarly for other modules. Now the system is ready to receive work orders through the network. For more information, visit `systemd wikipedia page `_ or `the official documentation `_. MacOS ^^^^^ On MacOs, to start the scheduler service you would run:: $ launchctl load /Library/LaunchAgents/org.ctmo.scheduler and similarly for other modules. To stop, use the ``unload`` command. For more information, see `launchd's page `_ or `Apple's official documentation `_. XML-RPC Interface ----------------- Each service will run as a daemon (background process) and work on a specific port specified in the configuration file using the `XML-RPC`_ protocol. Each service responds to a single function called ``front_desk`` which accepts a "Work Order". Work Orders (WO) are dictionaries with a specific structure described in :ref:`wo`. .. _XML-RPC: http://xmlrpc.scripting.com