summaryrefslogtreecommitdiff
path: root/yaksh/code_server.py
AgeCommit message (Collapse)Author
2017-08-14Front-end modification for improved code serverprathamesh
Added JQuery to handle request. Sends ajax request and gets json as response. json contains token i.e uid which is answer id. Using uid, an ajax request is sent after every 2 secs till the server gives the desire result. If the code result has error then html is written on the document. If the result has correct answer then next question is displayed. *includes function for string will not work for older browers. Will substitute with a different function in next commit.
2017-08-09Fix order of run as nobody.Prabhu Ramachandran
It should be run before ServerPool is created so the shared dictionary works correctly.
2017-08-04Completely rewrite the server pool.Prabhu Ramachandran
It is now much simpler. There are no xmlrpc servers anymore instead the tornado server takes a post request to submit a job asynchronously and the results are added to a shared dictionary. A get request can be used to check the status of a submitted job. This allows the submission and checking of code to be completely async and will make the application a lot more scalable.
2017-01-02Remove unused argument from functionsadityacp
2016-12-20Fix errors and rename resourcesankitjavalkar
- code_evaluator module and class renamed to grader - Test cases fixed - Comments removed - weight variable renamed to mark
2016-12-20Remove commented codeankitjavalkar
2016-12-20Add further changes to code evaluatorankitjavalkar
2016-12-20Refactor code server and python evaluatorankitjavalkar
2016-09-30Add unicode_literal import for Python2ankitjavalkar
2016-09-30Migrate python code server and evaluators to python 2/3 compatibleankitjavalkar
2016-08-12Use a tornado based server for the pool server.Prabhu Ramachandran
With the previous XMLRPC based server, an XMLRPC server would respond to a request for an available port. This does not work as the server can only take about 2 simultaneous connections. The server pool now uses a HTTP server via tornado which works extremely well. The django code should not change at all as this is an internal change. This change should make the code server far more robust and work for a very large number of simultaneous users. The http server also has a simple status page to indicate the current load. This will not be correct on OSX due to limitations of the multi-processing Queue implementation on OSX.
2016-08-12Add test case for code server.Prabhu Ramachandran
This currently fails when multiple threads ask for a code evaluation at the same time.
2016-05-10- Adhere to 80 columnsankitjavalkar
- add docstrings - Fix further tests
2016-05-05Remove commented code and cleanupankitjavalkar
2016-05-05- Refactor Scilab, Bash, Java and Cankitjavalkar
- Add Test Cases to reflect refactoring changes - Fix language registry - Add test case for language registry - Fix register in settings - Keep snippet field for now
2016-05-05- Connect test case type models to backend code serverankitjavalkar
- Support for Stdout test case and Standard assertion test case - Add MCQ Test case and support for validations - Remove tester dir
2016-05-05Add a python standard out evaluatorankitjavalkar
2016-05-05Language registry altered, Name cleanup:ankitjavalkar
- set_registry will only act when registry is None - _setup, _teardown and _check_code are setup,teardown,check_code - Corresponding name changes in evaluator modules
2015-12-04Add Dockerfile, modify docs and code_serverankitjavalkar
2015-09-15Remove testapp dir, remove reference to testapp in paths, filesankitjavalkar