Skip to content
Snippets Groups Projects
Commit b98d07a9 authored by Florian Spreckelsen's avatar Florian Spreckelsen
Browse files

Merge branch 'f-doc-serverside' into 'dev'

DOC: add doc on serverside

See merge request !39
parents 2fff66ff e2f7004b
No related branches found
No related tags found
1 merge request!39DOC: add doc on serverside
Pipeline #18196 passed with warnings
# Release Guidelines for the CaosDB Python Client Library
This document specifies release guidelines in addition to the generel release
This document specifies release guidelines in addition to the general release
guidelines of the CaosDB Project
([RELEASE_GUIDELINES.md](https://gitlab.com/caosdb/caosdb/blob/dev/RELEASE_GUIDELINES.md))
......@@ -38,5 +38,5 @@ guidelines of the CaosDB Project
10. Merge the main branch back into the dev branch.
11. After the merge of main to dev, start a new development version by
setting `ISRELEASED` to `False` and by increasing at least the `MIRCO`
setting `ISRELEASED` to `False` and by increasing at least the `MICRO`
version in [setup.py](./setup.py) and preparing CHANGELOG.md.
......@@ -16,4 +16,5 @@ advanced usage of the Python client.
errors
data-model-interface
complex_data_models
serverside
Server Side Scripting
=====================
The administrator may store regularly needed scripts, e.g. for computing a
standardized analysis, on the same machine as the CaosDB server, "on the server
side", where they can be run directly by the server.
The execution of those scripts can be initiated using the Python client, or the
web interface.
Call a Script
~~~~~~~~~~~~~
If you have access to the server and sufficient permissions to run the script,
execution is fairly simple:
.. code:: python
from caosdb.utils.server_side_scripting import run_server_side_script
response = run_server_side_script('scriptname.py')
print(response.stderr,response.stdout)
This makes the server run the script ``scriptname.py``. The output of the
script (``stderr`` and ``stdout``) is returned within an response object.
If the script requires additional arguments, those can be provided after the
script's name.
Note that by default the script runs with your CaosDB account. It has your
permissions and changes are logged as if they were done by you directly.
Testing it
~~~~~~~~~~
You can try this out using for example the ``diagnostics.py`` script (it is part
of the `CaosDB server repository
<https://gitlab.indiscale.com/caosdb/src/caosdb-server/-/blob/main/scripting/bin/administration/diagnostics.py>`_
and is also available on https://demo.indiscale.com). The script returns
information about the server in JSON format. You can do for example the
following:
.. code:: python
import json
from caosdb.utils.server_side_scripting import run_server_side_script
response = run_server_side_script('administration/diagnostics.py')
print("JSON content:")
print(json.loads(response.stdout))
print("stderr:")
print(response.stderr)
Further Information
~~~~~~~~~~~~~~~~~~~
Additionally, you might want to have a look at
https://docs.indiscale.com/caosdb-server/specification/Server-side-scripting.html
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment