Skip to main content

PyPI Python License

evoid-scheduler

Priority-aware scheduler — Intent Handler system

Quick StartIntent HandlerFeaturesAPI


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)

Table of built distributions (wheels) for evoid-scheduler 0.1.3
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

0.2.0

1 release file

This release

0.1.3 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page