Supervisor Setup
OpenVDM’s Python workers are run by Supervisor, which starts them at boot and restarts them if they stop.
The installer writes the Supervisor configuration, and rewrites it on every run:
| OS | File |
|---|---|
| Debian / Ubuntu | /etc/supervisor/conf.d/openvdm.conf |
| Rocky / AlmaLinux | /etc/supervisord.d/openvdm.ini |
The workers are in one group, openvdm, so each is addressed as openvdm:<name>. Their
logs are in /var/log/openvdm/.
Workers
| Name | Script (server/workers/) |
Purpose |
|---|---|---|
run_collection_system_transfer |
run_collection_system_transfer.py |
Runs collection system transfers |
run_cruise_data_transfer |
run_cruise_data_transfer.py |
Runs cruise data transfers |
run_ship_to_shore_transfer |
run_ship_to_shore_transfer.py |
Runs the ship-to-shore transfer |
test_collection_system_transfer |
test_collection_system_transfer.py |
Test Setup for collection system transfers |
test_cruise_data_transfer |
test_cruise_data_transfer.py |
Test Setup for cruise data transfers |
data_dashboard |
data_dashboard.py |
Runs the plugins and updates the data dashboard |
md5_summary |
md5_summary.py |
Updates the MD5 checksum summary |
cruise |
cruise.py |
Cruise setup, finalization and configuration export |
lowering |
lowering.py |
Lowering setup, finalization and configuration export |
cruise_directory |
cruise_directory.py |
Creates and rebuilds the cruise directory |
lowering_directory |
lowering_directory.py |
Creates and rebuilds lowering directories |
post_hooks |
post_hooks.py |
Runs post-hook commands |
stop_job |
stop_job.py |
Stops running jobs |
scheduler |
scheduler.py |
Starts transfers on schedule |
size_cacher |
size_cacher.py |
Keeps the cruise and lowering directory sizes up to date |
reboot_reset |
reboot_reset.py |
Runs once at startup (see below) |
The three run_* transfer workers run two processes each, so two transfers of each kind
can run at once. Their process names end in a number (e.g.
openvdm:run_collection_system_transfer_0); both processes write to the same log.
All the workers run as root.
Common Commands
# Status of all OpenVDM workers
sudo supervisorctl status
# Restart all workers, e.g. after an upgrade or after changing a plugin
sudo supervisorctl restart openvdm:*
# Restart one worker
sudo supervisorctl restart openvdm:data_dashboard
# Follow a worker's log
sudo tail -f /var/log/openvdm/data_dashboard.log
Startup Reset
reboot_reset runs once when Supervisor starts (it isn’t restarted when it exits). It
resets transfers and tasks left marked as running by an unclean shutdown, so OpenVDM
starts from a clean, idle state.
Supervisor Web Interface
The installer can turn on Supervisor’s web interface (port 9001), optionally with a username and password. The username defaults to the OpenVDM user, and the password to that user’s database password.