Cotyledon provides a framework for defining long-running services.
Project description
Cotyledon provides a framework for defining long-running services.
It provides handling of Unix signals, spawning of workers, supervision of children processes, daemon reloading, sd-notify, rate limiting for worker spawning, and more.
Free software: Apache license
Documentation: http://cotyledon.readthedocs.org/
Why Cotyledon
This library is mainly used in Openstack Telemetry projects for now. In the past oslo.service was used. But our projects don’t want to use eventlet anymore.
oslo.service is written on top of eventlet to provide two main features:
periodic tasks
workers processes management
The first one was replaced by another Oslo lib called futurist and the second part by Cotyledon.
Our main issue was greenlet that doesn’t run in timely fashion because we don’t monkeypatch the python stdlib anymore. Making Tooz/Oslo.messaging hearbeats to fail. And processes that doesn’t exists as expected due to greenpipe never processed.
Unlike oslo.service, cotyledon have:
The same code path when workers=1 and workers>=2
Reload API (on SIGHUP) hooks work in case of you don’t want to restarting children
A separated API for children process termination and for master process termination
Seatbelt to ensure only one service workers manager run at a time.
Is signal concurrency safe.
Support non posix platform, because it’s built on top of multiprocessing module instead of os.fork
Provide functional testing
And doesn’t:
facilitate the creation of wsgi application (sockets sharing between parent and children process). Because too many wsgi webserver already exists.
So these toohard to fix issues and the heavy eventlet dependencies make this library to appear.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cotyledon-1.6.7.tar.gz
.
File metadata
- Download URL: cotyledon-1.6.7.tar.gz
- Upload date:
- Size: 26.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0974b8a591eb9b9b4a56dd9225c0c3eb8bf750df020d3c25e94a70d5c04e6a1a |
|
MD5 | 7e2aff52379f5b6f8cf14991a85ad863 |
|
BLAKE2b-256 | e7c0461c744877ba8cdd5c8743e905d9bc3da6d0bb9852b912e0f52591304586 |
File details
Details for the file cotyledon-1.6.7-py2.py3-none-any.whl
.
File metadata
- Download URL: cotyledon-1.6.7-py2.py3-none-any.whl
- Upload date:
- Size: 23.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8094d091d8ac8449c53244c58900680c377a58cef151dc34e6ec62d5c20a904b |
|
MD5 | 58bd5a85510267d999f26edaf9462fb5 |
|
BLAKE2b-256 | 08979f03bad2ec79f59b658becd764eca6c41f7c8f8faaa8b2d58581f221b32d |