-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathserver.py
More file actions
36 lines (29 loc) · 954 Bytes
/
server.py
File metadata and controls
36 lines (29 loc) · 954 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import os
from scheduler import Scheduler
from task import Task
from stage import Stage
from flask import Flask
from runner import Runner
app = Flask(__name__)
scheduler = Scheduler()
runner = Runner()
def create_new_task(job, deadline, priority):
stage_files_list = os.listdir("tasks/" + "task" + job)
stage_files_list.sort()
stage_list = []
for stage_file in stage_files_list:
stage = Stage(stage_file, 0, 0, 0)
stage_list.append(stage)
task = Task(stage_list, priority, deadline, "task"+job)
return task
@app.route("/<job_arr>&<deadline>&<priority>")
def home(job_arr, deadline, priority):
jobs = job_arr.split(",")
for job in jobs:
task = create_new_task(job, deadline, priority)
scheduler.add_task(task)
return "Adding job" + str(jobs) + "deadline" + str(deadline)
if __name__ == "__main__":
scheduler.start_scheduler(1)
runner.start_runner(scheduler)
app.run()