Skip to main content

A HTTP-based microservice offering a ReST API to acquire and release resources that are limited with a semaphore semantic.

Project description

PyPI - License GitHub tag (latest by date) GitHub release (latest by date) Documentation Status
PyPI PyPI - Python Version PyPI - Wheel PyPI - Status

Semaphore Microservice

This HTTP-based microservice offers a ReST API to acquire and release resources that are limited with a semaphore semantic.

Use Cases

Limited Number of Licenses in an Continuous Integration Environment

Some software uses a global license server to checkout licenses while the software is executed. By default many license consumers (clients) fail and abort the execution if no valid license was found or if no license was free for a checkout. In such cases, a CI pipeline would also fail, because the job is failing caused by the license error. In many cases there are no retries nor waits for a license to become valid or available again. More over waiting time would be counted as job execution time.

This semaphore service allow to acquire a license virtually before asking the actual license server. If no license is available, it will either wait or register a callback for the real working job.

Operations

Architecture

Application => WebServer     => HTTPInterface => Router => API => Semaphore => storage  
Daemon     / \ NGINX + WSGI /

API

v1.0

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

Semaphore-Microservice-0.1.1.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

Semaphore_Microservice-0.1.1-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file Semaphore-Microservice-0.1.1.tar.gz.

File metadata

  • Download URL: Semaphore-Microservice-0.1.1.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.7

File hashes

Hashes for Semaphore-Microservice-0.1.1.tar.gz
Algorithm Hash digest
SHA256 742577f6983976eb74853b09fb37e9d74de39ed71b3339a16314a2f2cc6742e9
MD5 9fa294aab3a73c233231c05549e319bb
BLAKE2b-256 4d89c36078742eb67f783ba06c95534f25226a7024eb86f569fad61d7afc3bd2

See more details on using hashes here.

File details

Details for the file Semaphore_Microservice-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: Semaphore_Microservice-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.7

File hashes

Hashes for Semaphore_Microservice-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1b6b876d19ce953a659432fcf64e6bc21d024283f09f2981460aa8e6a32133a5
MD5 34c482fb946019f97ffaebb449b3245e
BLAKE2b-256 9f8c770c64bed76aef59bf1be8c3fe83c23a82985861c17c3d21d325ab037593

See more details on using hashes here.

Supported by

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