@@ -12,13 +12,7 @@ import (
1212func (job benchJob ) run (ctx context.Context , WarmVMs <- chan runningFirecracker ) {
1313 log .WithField ("job" , job ).Info ("Handling job" )
1414
15- err := q .getQueueForJob (ctx , job )
16- if err != nil {
17- log .WithError (err ).Fatal ("Failed to get status queue" )
18- return
19- }
20-
21- err = q .setjobReceived (ctx , job )
15+ err := q .setjobReceived (ctx , job )
2216 if err != nil {
2317 q .setjobFailed (ctx , job )
2418 return
@@ -35,27 +29,16 @@ func (job benchJob) run(ctx context.Context, WarmVMs <-chan runningFirecracker)
3529 defer vm .shutDown ()
3630
3731 var reqJSON []byte
38- switch job .Type {
39- case "command" :
40- reqJSON , err = json .Marshal (agentExecReq {
41- ID : job .ID ,
42- Command : job .Command ,
43- })
44- if err != nil {
45- log .WithError (err ).Error ("Failed to marshal JSON request" )
46- q .setjobFailed (ctx , job )
47- return
48- }
49- case "code" :
50- reqJSON , err = json .Marshal (agentRunReq {
51- ID : job .ID ,
52- Code : job .Code ,
53- })
54- if err != nil {
55- log .WithError (err ).Error ("Failed to marshal JSON request" )
56- q .setjobFailed (ctx , job )
57- return
58- }
32+
33+ reqJSON , err = json .Marshal (agentRunReq {
34+ ID : job .ID ,
35+ Variant : job .Variant ,
36+ Code : job .Code ,
37+ })
38+ if err != nil {
39+ log .WithError (err ).Error ("Failed to marshal JSON request" )
40+ q .setjobFailed (ctx , job )
41+ return
5942 }
6043
6144 err = q .setjobRunning (ctx , job )
@@ -65,44 +48,26 @@ func (job benchJob) run(ctx context.Context, WarmVMs <-chan runningFirecracker)
6548 }
6649
6750 var httpRes * http.Response
68- var res agentExecRes
69-
70- switch job .Type {
71- case "command" :
72- httpRes , err = http .Post ("http://" + vm .ip .String ()+ ":8080/exec" , "application/json" , bytes .NewBuffer (reqJSON ))
73- if err != nil || httpRes .StatusCode != 200 {
74- log .WithError (err ).Error ("Failed to request execution to agent" )
75- q .setjobFailed (ctx , job )
76- return
77- }
78- json .NewDecoder (httpRes .Body ).Decode (& res )
79- log .WithField ("result" , res ).Info ("Job execution finished" )
80-
81- err = q .setjobResult (ctx , job , res )
82- if err != nil {
83- q .setjobFailed (ctx , job )
84- }
51+ var agentRes agentExecRes
8552
86- case "code" :
87- httpRes , err = http .Post ("http://" + vm .ip .String ()+ ":8080/run/c" , "application/json" , bytes .NewBuffer (reqJSON ))
88- if err != nil {
89- log .WithError (err ).Error ("Failed to request execution to agent" )
90- q .setjobFailed (ctx , job )
91- return
92- }
93- json .NewDecoder (httpRes .Body ).Decode (& res )
94- log .WithField ("result" , res ).Info ("Job execution finished" )
95-
96- if httpRes .StatusCode != 200 {
97- log .WithField ("res" , res ).Error ("Failed to compile and run code" )
98- q .setjobFailed (ctx , job )
99- return
100- }
53+ // FIXME
54+ httpRes , err = http .Post ("http://" + vm .ip .String ()+ ":8080/run/python" , "application/json" , bytes .NewBuffer (reqJSON ))
55+ if err != nil {
56+ log .WithError (err ).Error ("Failed to request execution to agent" )
57+ q .setjobFailed (ctx , job )
58+ return
59+ }
60+ json .NewDecoder (httpRes .Body ).Decode (& agentRes )
61+ log .WithField ("result" , agentRes ).Info ("Job execution finished" )
62+ if httpRes .StatusCode != 200 {
63+ log .WithField ("res" , agentRes ).Error ("Failed to compile and run code" )
64+ q .setjobFailed (ctx , job )
65+ return
66+ }
10167
102- err = q .setjobResult (ctx , job , res )
103- if err != nil {
104- q .setjobFailed (ctx , job )
105- }
68+ err = q .setjobResult (ctx , job , agentRes )
69+ if err != nil {
70+ q .setjobFailed (ctx , job )
10671 }
10772
10873}
0 commit comments