• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Morry98 / fastapi-task-manager / 22868571260
98%

Build:
DEFAULT BRANCH: main
Ran 09 Mar 2026 06:28PM UTC
Jobs 5
Files 32
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

09 Mar 2026 06:27PM UTC coverage: 97.577%. First build
22868571260

push

github

web-flow
Improve task management with Redis Streams, leader election and  management API (#2)

## Summary

  Major overhaul of fastapi-task-manager introducing a more robust and scalable
  architecture:

  - **Redis Streams mode**: Replaced the legacy polling mode with Redis Streams +
  consumer groups for distributed task execution, ensuring reliable message
  delivery and at-least-once processing
  - **Leader election**: Added distributed leader election via Redis so only one
  instance schedules tasks across multiple app replicas
  - **Reconciler & heartbeat**: New reconciler component detects and recovers
  stale/failed tasks; tasks now emit heartbeats to track liveness
  - **Exponential backoff retry**: Failed tasks are automatically retried with
  configurable exponential backoff
  - **Dynamic task CRUD API**: New endpoints for creating, updating, and deleting
  tasks at runtime with Redis persistence
  - **Revamped management API**: Async bulk operations for task groups and tasks
  (enable/disable, trigger, health checks)
  - **Statistics via Redis Streams**: Migrated statistics storage from Redis Lists
  to Streams for better performance and queryability
  - **Worker identity**: Each worker instance now has a unique identity tracked via
   `WorkerIdentity` schema
  - **Centralized Redis keys**: All Redis key patterns consolidated in
  `redis_keys.py`
  - **Simplified config**: Removed redundant TTL config fields; renamed `app_name`
  → `redis_key_prefix` and `log_level` config
  - **Comprehensive test suite**: Added 12 test modules covering all new components
   (~3,500+ lines of tests)
  - **Full documentation site**: MkDocs Material docs with getting started guide,
  architecture overview, API reference, deployment guide, and dynamic tasks
  tutorial
  - **CI workflow**: Added GitHub Actions CI pipeline with Python 3.14 support
  - **Pre-commit improvements**: Migrated from mypy+vermin to Astral's `ty`, added
  bandit security linter

3182 of 3264 new or added lines in 32 files covered. (97.49%)

3342 of 3425 relevant lines covered (97.58%)

4.86 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
98.97
src/fastapi_task_manager/runner.py
1
99.37
tests/test_coordinator.py
1
99.55
tests/test_reconciler.py
1
99.63
tests/test_stream_consumer.py
1
99.65
tests/test_task_router_services.py
2
97.89
src/fastapi_task_manager/task_group.py
2
99.22
tests/test_task_manager.py
4
95.18
tests/test_schemas.py
5
93.15
src/fastapi_task_manager/leader_election.py
6
92.86
src/fastapi_task_manager/coordinator.py
10
94.85
src/fastapi_task_manager/stream_consumer.py
11
92.36
src/fastapi_task_manager/reconciler.py
18
89.16
tests/test_task_group.py
19
93.09
tests/test_dynamic_tasks.py
Jobs
ID Job ID Ran Files Coverage
1 python-3.11 - 22868571260.1 09 Mar 2026 06:28PM UTC 32
96.91
GitHub Action Run
2 python-3.14 - 22868571260.2 09 Mar 2026 06:28PM UTC 32
97.48
GitHub Action Run
3 python-3.10 - 22868571260.3 09 Mar 2026 06:28PM UTC 32
97.58
GitHub Action Run
4 python-3.12 - 22868571260.4 09 Mar 2026 06:28PM UTC 32
97.58
GitHub Action Run
5 python-3.13 - 22868571260.5 09 Mar 2026 06:28PM UTC 32
97.52
GitHub Action Run
Source Files on build 22868571260
  • Tree
  • List 32
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #22868571260
  • 5c50ffcd on github
  • Next Build on main (#22888845812)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc