8000 GitHub - TkTech/chancy: A postgres-backed task queue for Python.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

TkTech/chancy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chancy

Chancy Logo

Chancy is a distributed task queue and scheduler for Python built on top of Postgres.

MIT License Codecov PyPI Version Python Version OS Platforms PostgreSQL Versions

Key Features

  • Robust Jobs - support for priorities, retries, timeouts, scheduling, global rate limits, memory limits, global uniqueness, error capture, cancellation, and more
  • Minimal dependencies - Core functionality requires only psycopg3 - which can be installed side-by-side with psycopg2.
  • Minimal infrastructure - No need to run a separate service like RabbitMQ or redis. Every feature is built on top of Postgres. No need for separate monitoring services like Flower or schedulers like Celery Beat - everything is built-in to the worker.
  • Plugins - Several plugins including a dashboard, workflows, cron jobs, and more.
  • Flexible - A single worker can handle many queues and mix threads, processes, sub-interpreters, and asyncio jobs, allowing powerful workflows that use the optimal concurrency model for each job. Queues can be created, deleted, modified, and paused at runtime.
  • async-first - Internals designed from the ground up to be async-first, but has minimal sync APIs for easy integration with existing non-async codebases.
  • Transactional enqueueing - Atomically enqueue jobs and the data they depend on in a single transaction.
  • Performant - Used in production environments to process millions of jobs per day.
  • Portable - Supports Linux, OS X, and Windows.
  • 100% open & free - no enterprise tiers or paid features.

Documentation

Check out the getting-started guide and the API documentation at https://tkte.ch/chancy/.

Screenshots

Chancy comes with an optional dashboard that provides a basic look into the status of your queues:

Workflows Queue Details Jobs Job

0