Thanks to visit codestin.com
Credit goes to github.com

Skip to content

prab18hat/Talent-Cron-LD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Talent-Cron-LD

A Python automation tool for smart job allocation and deadline management using FastAPI, Celery, and AI-powered profile matching.

Task-bot is a Fast API + Celery-based automation system that assigns tasks to the most suitable talent using AI-driven profile matching and handles deadlines, extension requests, and task reassignments intelligently.


🚀 Features

  • 🔗 Smart Job Allocation: Assigns jobs to the best-matching member using cosine similarity between job descriptions and member profile embeddings.
  • ⏰ 24-Hour Deadlines: Automatically gives members a fixed 24-hour window to complete allocated jobs.
  • 📝 Prolong Requests: Members can request deadline extensions (prolongations) with a reason.
  • 🤖 AI Review: Uses AI logic to evaluate prolong requests based on the reason and member pool.
  • 🔄 Auto-Reallocation: Automatically releases jobs and reallocates if deadlines are missed or prolong requests are rejected.
  • ✅ Completion Tracking: Jobs are marked as completed upon submission.

🛠 Tech Stack

  • Python 3.x
  • FastAPI
  • Celery (with Redis)
  • SQLAlchemy
  • Cron scheduling (via Celery Beat)

📦 Directory Structure

Talent-Cron-LD/
├── app/
│   ├── __init__.py
│   ├── main.py
│   ├── models.py
│   ├── schemas.py
│   ├── db.py
│   ├── utils.py
│   └── mock_data.py
├── celery_worker.py
├── requirements.txt
├── run.sh
└── Readme.md

⚡️ Quickstart

  1. Install dependencies
    pip install -r requirements.txt
  2. Start Redis
    docker run -d -p 6379:6379 redis
  3. Start FastAPI
    uvicorn app.main:app --reload
  4. Start Celery worker
    celery -A celery_worker.app worker --loglevel=info
  5. Start Celery beat
    celery -A celery_worker.app beat --loglevel=info

🌐 API Endpoints

  • POST /jobs — Create a new job
  • GET /jobs — List all jobs
  • POST /complete-job — Mark a job as completed
  • PATCH /allocations/{allocation_id}/prolong — Request a deadline prolongation
  • GET /allocations — List all allocations
  • GET /allocations/{allocation_id} — Get allocation details
  • GET /members — List all members
  • GET /mock-expired-allocation — Create a mock allocation with a past deadline

🧑‍💻 How It Works

  • When a job is created, it is automatically allocated to the best-matching member (using AI profile matching) by a background Celery task.
  • Members can request a deadline prolongation for their allocation; prolong requests are evaluated by an AI logic in the background.
  • If a job is not completed in time and no prolongation is granted, it is released and can be reallocated.

📢 Notes

  • All naming and endpoint conventions are original to this project.
  • For demonstration, mock data and embeddings are used.
  • The project is designed for easy extension and integration with real AI models and production data.

Talent-Cron-LD — Smart, AI-driven job allocation and deadline management for teams!

# Clone the repo

# Install dependencies
pip install -r requirements.txt

# Start Redis (or RabbitMQ)
docker run -d -p 6379:6379 redis

# Start Celery worker
celery -A app worker --loglevel=info

# Start Celery beat (for scheduled task checking)
celery -A app beat --loglevel=info

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published