MacroServer
Most probably your MacroServer will need to connect to one or more Device
Pools via the pool names attribute. This is
usually configured at the server creation time but can be also modified
later on. In case Sardana is used with Tango this configuration
is accessible via the PoolNames
MacroServer
device property.
You will certainly use the macro environment variables for changing macros
behavior at runtime. This environment is stored in a database configurable via
environment db attribute. In case Sardana is
used with Tango this configuration is accessible via the EnvironmentDb
MacroServer
device property.
MacroServer is easily extendable by means of plugins of two types:
macros and recorders. MacroServer discovers them in directories
configurable via macro path and
recorder path attributes. In case Sardana is
used with Tango this configuration is accessible via the MacroPath
and
RecorderPath
MacroServer
device properties. Both MacroPath
and RecorderPath
properties may
contain an ordered, colon-separated list of directories.
Your plugins may need to access to third party Python modules. One can
configure the directory where to look for them via
python path attribute. In case Sardana is
used with Tango this configuration is accessible via the PythonPath
MacroServer
device property.
PythonPath
property may contain an ordered, colon-separated list of
directories.
Multiple macros can run concurrently in the MacroServer and the maximum number
of these threads is configurable via
max parallel macros attribute. In case Sardana is
used with Tango this configuration is accessible via the MaxParallelMacros
MacroServer
device property
(default: 10).
Macros may report information to a file which is configurable via
log report file name and
log report format. In case Sardana is
used with Tango this configuration is accessible via the LogReportFilename
and LogReportFormat
MacroServer
device properties.
MacroServer integrates natively with the
Elastic Stack and may send logs to the a Logstash
instance. In case Sardana is used with Tango this configuration is
accessible via the LogstashHost
and LogstashPort
MacroServer
device properties.
You can use the intermediate SQLite cache database configured with
LogstashCacheDbPath
property, however this is discouraged due to logging
performance problems.