Skip to main content

Plastron STOMP daemon

Project description

plastron-stomp

STOMP listener client for asynchronous and synchronous operations

Running with Python

As a Python module:

python -m plastron.stomp.daemon -c <config file>

Using the console script entrypoint:

plastrond-stomp -c <config file>

Integration Tests

See the integration test README for instructions on running the manual integration tests.

Docker Image

The plastron-stomp package contains a Dockerfile for building the plastrond-stomp Docker image.

Building

Important: This image MUST be built from the main plastron project directory, in order to include the other plastron packages in the build context.

docker build -t docker.lib.umd.edu/plastrond-stomp:latest \
    -f plastron-stomp/Dockerfile .

Running with Docker Swarm

This repository contains a compose.yml file that defines part of a plastrond Docker stack intended to be run alongside the umd-fcrepo-docker stack. This repository's configuration adds a plastrond-stomp container.

# if you are not already running in swarm mode
docker swarm init

# build the image
docker build -t docker.lib.umd.edu/plastrond-stomp:latest \
    -f plastron-stomp/Dockerfile .

# Create an "archelon_id" private/public key pair
# The Archelon instance should be configured with "archelon_id.pub" as the
# PLASTRON_PUBLIC_KEY
ssh-keygen -q -t rsa -N '' -f archelon_id

# Copy the docker-plastron-template.yml and edit the configuration
cp docker-plastron.template.yml docker-plastron.yml
vim docker-plastron.yml

# deploy the stack to run the STOMP application
docker stack deploy -c plastron-stomp/compose.yml plastrond

To watch the logs:

docker service logs -f plastrond_stomp

To stop the STOMP service:

docker service rm plastrond_stomp

Configuration

See docker-plastron.template.yml for an example of the config file.

STOMP Message Headers

The Plastron Daemon expects the following headers to be present in messages received on the JOBS destination:

  • PlastronCommand
  • PlastronJobId

Additional arguments for a command are sent in headers with the form PlastronArg-{name}. Many of these are specific to the command, but there is one with standard behavior across all commands:

Header Description
PlastronArg-on-behalf-of Username to delegate repository operations to

See the messages documentation for details on the headers and bodies of the messages the Plastron STOMP Daemon emits.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plastron_stomp-4.5.0.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

plastron_stomp-4.5.0-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file plastron_stomp-4.5.0.tar.gz.

File metadata

  • Download URL: plastron_stomp-4.5.0.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for plastron_stomp-4.5.0.tar.gz
Algorithm Hash digest
SHA256 ecd5cb91484be7e201ae0212358323aba74c1a5ab615b025a89466a8a0f284b8
MD5 066d6fb2be6d01b9b3d64c0004222939
BLAKE2b-256 a2e0dd2d1afc8acc8017c6a07bdaa07e9079939c84b9ef87a69f4eff134d7374

See more details on using hashes here.

File details

Details for the file plastron_stomp-4.5.0-py3-none-any.whl.

File metadata

  • Download URL: plastron_stomp-4.5.0-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for plastron_stomp-4.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7f91415ff0476140d70ad0ad9270af935fc67f7cf931f1cbee7f160cd7c58f80
MD5 1c27ddb0148cef6cad61de9e8deee152
BLAKE2b-256 abd41c29b335d27448f1235c209a1fdc8598a8b7fc3c78d3c55c2d53dd07aae3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page