Metadata-Version: 2.4
Name: aman-asyncjobs
Version: 0.1.1
Summary: An asyncio-based concurrent job scheduler
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: plotly
Requires-Dist: numpy
Requires-Dist: pandas

# AsyncJobs

AsyncJobs is an asyncio-based job scheduler for running different types of jobs concurrently.

## Features

- Async coroutine jobs
- Thread-based jobs
- Subprocess jobs
- Job dependencies
- Concurrent execution
- Configurable concurrency limit
- Failure propagation
- Event-driven architecture
- Execution monitoring with Plotly

## Example

```python
import asyncio

from asyncjobs import Job, Scheduler


async def download():
    await asyncio.sleep(2)
    print("Download completed")


async def main():

    scheduler = Scheduler(
        max_concurrency=2
    )

    scheduler.add_job(
        Job(
            "download",
            download
        )
    )

    await scheduler.run()


asyncio.run(main())
