Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

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.

Files for Semaphore-Microservice, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size Semaphore_Microservice-0.1.1-py3-none-any.whl (14.4 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size Semaphore-Microservice-0.1.1.tar.gz (4.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page