Skip to main content

A system for management of multiple processes

Project description

Just Compose

A script to run the entire pipeline.

Installation

pip3 install just_compose
jcompose --help # Should print something

How to deploy crow

# This repo implements health checks
cd ~/crow2/src
git clone https://gitlab.ciirc.cvut.cz/hajekric/observations

# Rebuild
cd ~/crow2
colcon build --symlink-install

# This repo contains example configurations
cd ~/
git clone https://gitlab.ciirc.cvut.cz/hajekric/just-compose.git
cd examples
jcompose just-compose_ros.yaml # Should start the pipeline

How to write a service

If you don't have your own, create tutorial.yaml with this content:

pre:
  - cd ~/crow2
  - source /opt/ros/eloquent/setup.bash
  - source install/setup.bash

post:
  - echo "Job finished"

services:

  crow_vision_ros2:
    working_dir: ~/crow2
    command: ros2 launch crow_vision_ros2 all_cameras.launch.py
    tags: [ vision, camera ]
  1. Figure out the following
  • Service name ( for identification, must be unique )
  • Command(s) to run the service
    • Make sure to also find out the working dir of the service
  • If you want healtcheck:
    • Find out what is the name of your ROS node
  1. Insert the following into the config file, into the services part
   <service_name>:
     working_dir: <working_dir>
     command: <command>
     healthcheck: ros2 run observations check_alive -n <node_name> # Ignore this line if you dont have a health check
     tags: [<tag1>, <tag2>] # Ignore this line if you dont have any tags ( alternative names )
  1. You may now run this service with jcompose tutorial.yaml --jobs <service_name> or jcompse tutorial.yaml --jobs <any of the tags>

Technical details

YAML

The main configuration file contains the following structure:

pre:
  - echo This hook runs before each job and each healthcheck

post:
  - echo This hook runs after each job

services:
  
  crow_vision_ros2: # The name of the service. Is used for printing and identification
    working_dir: ~/crow2 # Command is `cd`-ed to this directory before execution
    command: ros2 launch crow_vision_ros2 all_cameras.launch.py # The service command
    tags: [ vision ] # Tags used for identification

  crow_object:
    working_dir: ~/crow2
    commands:
      - echo Multiline commands are also available
      - ros2 launch crow_vision_ros2 crow_object.launch.py
    tags: [ vision ]

  ...

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

just-compose-0.2.6.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

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

just_compose-0.2.6-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file just-compose-0.2.6.tar.gz.

File metadata

  • Download URL: just-compose-0.2.6.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.7

File hashes

Hashes for just-compose-0.2.6.tar.gz
Algorithm Hash digest
SHA256 ccb07f5d18103a52d2213f8bbc6fb5e35a488492a5f927fdccdf9ffe525dac2f
MD5 69e4f7a94efbf5540fa83a33ad371d1a
BLAKE2b-256 2c7144931f301e5960a0e5fd1d34a7f674c18fa3afc3e7a800579c6cdba1160e

See more details on using hashes here.

File details

Details for the file just_compose-0.2.6-py3-none-any.whl.

File metadata

  • Download URL: just_compose-0.2.6-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.7

File hashes

Hashes for just_compose-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 3eb5561192b462a77f9bb2a16e3758e44c282af4d71b0dee6e413c6456323b1a
MD5 709b6d2accdde7a93aac7b6aa3fa432e
BLAKE2b-256 a67da31f9e4106a80c3eecb3658d676457ce13a2d65fbbdaadc49a4a60568fee

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