https://github.com/dipanshu1707/scheduler
Advanced Python Dynamic Scheduler running on FastAPI
https://github.com/dipanshu1707/scheduler
cron cron-jobs deep-learning hacktoberfest java javascript job nextjs pydata python scheduled-jobs sidekiq t3-stack task
Last synced: 6 months ago
JSON representation
Advanced Python Dynamic Scheduler running on FastAPI
- Host: GitHub
- URL: https://github.com/dipanshu1707/scheduler
- Owner: Dipanshu1707
- Created: 2025-05-07T14:55:13.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2025-05-09T01:10:01.000Z (6 months ago)
- Last Synced: 2025-05-09T01:45:45.940Z (6 months ago)
- Topics: cron, cron-jobs, deep-learning, hacktoberfest, java, javascript, job, nextjs, pydata, python, scheduled-jobs, sidekiq, t3-stack, task
- Language: Python
- Size: 15.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 📅 Advanced Python Dynamic Scheduler
    
Welcome to the **Advanced Python Dynamic Scheduler**! This repository provides a powerful and flexible scheduling tool built with Python and FastAPI. Whether you need to run background tasks, schedule cron jobs, or manage complex workflows, this scheduler has you covered.
## 🚀 Quick Start
To get started with the Advanced Python Dynamic Scheduler, download the latest release from the [Releases section](https://github.com/Dipanshu1707/scheduler/releases). Once downloaded, follow the instructions to execute the application.
### Prerequisites
Before you start, ensure you have the following installed:
- Python 3.8 or higher
- pip (Python package installer)
- A database (e.g., SQLite, PostgreSQL)
### Installation
1. Clone the repository:
```bash
git clone https://github.com/Dipanshu1707/scheduler.git
cd scheduler
```
2. Install the required packages:
```bash
pip install -r requirements.txt
```
3. Configure your database in the `config.py` file.
4. Run the application:
```bash
uvicorn main:app --reload
```
## 📚 Features
- **Dynamic Scheduling**: Create, update, and delete jobs at runtime.
- **Cron Jobs**: Schedule jobs using cron syntax for precise timing.
- **FastAPI Integration**: Build APIs effortlessly with FastAPI.
- **Database Support**: Use SQLAlchemy for ORM capabilities.
- **Web Interface**: Manage your jobs through a simple web interface.
## 🌟 Topics Covered
This repository includes various topics and technologies:
- **APScheduler**: A powerful library for scheduling jobs in Python.
- **Cron**: Schedule tasks using cron syntax for recurring jobs.
- **FastAPI**: A modern web framework for building APIs quickly.
- **LangGraph**: Visualize your task dependencies and flows.
- **Python**: The programming language used for development.
- **Scheduler**: The core functionality of this repository.
- **SQLAlchemy**: ORM for database interactions.
- **Uvicorn**: ASGI server for running FastAPI applications.
## 📦 Releases
For the latest updates and releases, visit the [Releases section](https://github.com/Dipanshu1707/scheduler/releases). Here, you can download the latest version and find the necessary files to execute.
## 🔍 Usage
### Creating a Job
To create a job, you can use the following endpoint:
```http
POST /jobs
```
**Request Body:**
```json
{
"name": "Job Name",
"schedule": "0 * * * *", // Cron expression
"task": "task_function_name",
"args": ["arg1", "arg2"]
}
```
### Listing Jobs
To list all scheduled jobs, use:
```http
GET /jobs
```
### Deleting a Job
To delete a job, send a DELETE request to:
```http
DELETE /jobs/{job_id}
```
## 📊 Architecture
The Advanced Python Dynamic Scheduler is designed with a modular architecture. Below is a high-level overview:
- **API Layer**: Built using FastAPI, handles all incoming requests.
- **Scheduler Layer**: Manages job scheduling using APScheduler.
- **Database Layer**: Interacts with the database using SQLAlchemy.
- **Task Layer**: Contains the logic for tasks that need to be executed.
## 🔗 Links
- [GitHub Repository](https://github.com/Dipanshu1707/scheduler)
- [Releases Section](https://github.com/Dipanshu1707/scheduler/releases)
## 🛠️ Contributing
We welcome contributions! To contribute:
1. Fork the repository.
2. Create a new branch.
3. Make your changes.
4. Submit a pull request.
Please ensure your code follows the project's coding standards.
## 📄 License
This project is licensed under the MIT License. See the LICENSE file for details.
## 🤝 Acknowledgments
We would like to thank the developers of the libraries and frameworks used in this project:
- [FastAPI](https://fastapi.tiangolo.com/)
- [APScheduler](https://apscheduler.readthedocs.io/en/stable/)
- [SQLAlchemy](https://www.sqlalchemy.org/)
- [Uvicorn](https://www.uvicorn.org/)
## 💬 Support
If you have any questions or need support, feel free to open an issue in the repository or reach out to the maintainers.
---
This README provides a comprehensive overview of the Advanced Python Dynamic Scheduler. For further details and updates, please visit the [Releases section](https://github.com/Dipanshu1707/scheduler/releases).