-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDecider.py
38 lines (30 loc) · 1.53 KB
/
Decider.py
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
37
38
from serverless.task.Task import *
class Decider():
def __init__(self):
self.env = None
self.choices = ['layer', 'semantic', 'compression']
self.dataset = list(filter(lambda k: '.md' not in k, os.listdir(SAMPLE_PATH)))
self.dataset = [os.path.join(SAMPLE_PATH, i) for i in self.dataset]
def setEnvironment(self, env):
self.env = env
def decision(self, workflowlist):
pass
def getLayerInputs(self, cid, app, i):
paths = []
for d in DSET:
d2 = d.split('.')[0]
paths.append(f'./temp/{cid}_{i}_{app}_{d2}_L.jpg')
return paths
def createTasks(self, cid, interval, SLA, app, choice):
tasklist = []
if choice == 'semantic':
tasklist.append(Task(cid, interval, SLA, app, choice, self.env, 0, [], self.dataset))
tasklist.append(Task(cid, interval, SLA, app, choice, self.env, 1, [], self.dataset))
tasklist.append(Task(cid, interval, SLA, app, choice, self.env, 2, [], self.dataset))
tasklist.append(Task(cid, interval, SLA, app, choice, self.env, 3, [], self.dataset))
elif choice == 'layer':
tasklist.append(Task(cid, interval, SLA, app, choice, self.env, 0, [], self.dataset))
tasklist.append(Task(cid, interval, SLA, app, choice, self.env, 1, [0], self.getLayerInputs(cid, app, 0)))
elif choice == 'compression':
tasklist.append(Task(cid, interval, SLA, app, choice, self.env, 0, [], self.dataset))
return tasklist