Skip to content

oleggr/SchedulePlanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SchedulePlanner

Schedule planner based on Lee algorithm.

Tests

Content

Summary

App for finding CPU resources for the task. Time discretization and cpu count available for customization. Schedule finder separated from the client app and working on an external processing resource. Backend processing power can be increased by vertical and horizontal directions if needed. Instructions to do so will be added soon.

image before schedule find

Usage

Docker

Run frontend and backend services:

make docker

Stop services:

make down

In case of application deploy, you can use ansible for setting up nginx.

  1. Update server name in nginx config: deploy/roles/nginx/templates/site.conf.j2
  2. Update hosts.ini file: deploy/hosts.ini
  3. Run deploy command from the deploy folder: make dododo

Manual

Install requirements.

python3 -m pip install -r requirements.txt

Run the server. Server will work on http://localhost:8000

cd backend
make local

Test app by sending requests from postman or using client app. Currently available web application and CLI script.

# Script usage
# Use --help option to see usage hints
pyhton3 query_runner.py strategy1

Tests

Run tests.

cd backend
python3 -m pip pytest -v

Routes

GET    /api/hello        Basic get endpoint
POST   /api/strategy/1   Plan schedule by Strategy 1
                            - body: {
                                field: [[int], [int], ...]
                                end_x: int
                              }
POST   /api/strategy/2   Plan schedule by Strategy 2
                            - Currently not implemented
POST   /api/strategy/3   Plan schedule by Strategy 3
                            - Currently not implemented

Contacts

Up