evoid-scheduler
Priority-aware scheduler — Intent Handler system
Quick Start • Intent Handler • Features • API
Quick Start
uv add evoid-scheduler
Method 1: Intent Handler (Recommended)
from evoid_scheduler import register_handlers
# Register scheduler as Intent handlers
register_handlers(max_workers=4)
Method 2: Direct API
from evoid_scheduler import SchedulerEngine, Priority
scheduler = SchedulerEngine()
await scheduler.submit(intent=process_payment, priority=Priority.CRITICAL)
Intent Handler
evoid-scheduler registers priority-aware task scheduling as Intent handlers.
Features
- True priority queue — O(log n) enqueue/dequeue
- System metrics — CPU cores, load average, memory usage
- Adaptive concurrency — Adjusts based on system load
- Task deferral — Low-priority tasks deferred when system is busy
- Cross-service balancing — Distribute work across instances
Configuration
TOML
[engines]
scheduler = "scheduler"
[engines.options.scheduler]
max_workers = 4
API
register_handlers(max_workers: int = 4)
Register scheduler as Intent handlers.
SchedulerEngine Methods
| Method | Signature | Description |
|---|---|---|
submit |
async submit(intent, priority, ...) |
Submit task with priority |
metrics |
metrics() |
Get system metrics |
active |
active |
Count of running tasks |
Priority Levels
| Priority | Value | Use Case |
|---|---|---|
CRITICAL |
1 | Payments, medical |
HIGH |
2 | User requests |
NORMAL |
3 | Background jobs |
LOW |
4 | Analytics, logging |
DI Integration
All plugins register with evoid-di for automatic service discovery and fault tolerance.
from evoid_di import di
# Resolve with fallback
storage = di.resolve_with_fallback("storage.postgresql")
# Tries: postgresql → sqlite → redis → cluster peers → None
Dependencies
evoid>=0.4.0
Links
License
MIT
Release files for evoid-scheduler 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| evoid_scheduler-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Release files / evoid_scheduler-0.1.3-py3-none-any.whl
| Download URL | evoid_scheduler-0.1.3-py3-none-any.whl |
|---|---|
| Size | 7.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
79c1789128bf59f52cbb8b14735cf9009cb358ad3004be4b168de2fbd7665669
|
|
BLAKE2b-256 checksum How to use checksums |
42288843055125e7e4c65c674464810e826d53768bb0604b0b12e328cd6bd4e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|