autolab / Tango

Standalone RESTful autograding service
http://www.autolabproject.com/
Apache License 2.0
48 stars 59 forks source link

Prealloc requests fail #242

Closed cg2v closed 9 months ago

cg2v commented 9 months ago

Expected Behavior

sending a preallocate request should allocate the execution slots and return a successful result

Actual Behavior

The slots are allocated, but the request fails with an internal server error.

tornado.application|Uncaught exception POST /prealloc/[KEY]/[image]/[count]/ (::1) HTTPServerRequest(protocol='http', host='localhost:3000', method='POST', uri='/prealloc/[KEY]/[image]/[count]/', version='HTTP/1.1', remote_ip='::1') Traceback (most recent call last): File "/usr/local/lib64/python3.9/site-packages/tornado/web.py", line 1786, in _execute result = await result File "/usr/local/lib/Tango/restful_tango/server.py", line 124, in post instances = await tangoREST.prealloc(key, image, num, self.request.body) TypeError: object dict can't be used in 'await' expression tornado.access|500 POST /prealloc/[KEY]/[image]/[count]/ (::1) 14397.99ms

Steps to Reproduce the Behavior

on the tango server: tango-cli.py -k [KEY] --prealloc --num [count] --image [image] --vmms localDocker

damianhxy commented 9 months ago

The fix should be to make the prealloc method in tangoREST.py async