summaryrefslogtreecommitdiff
path: root/exam/xmlrpc_clients.py
AgeCommit message (Collapse)Author
2011-11-24ENH: Creating a ServerPool for code checksPrabhu Ramachandran
Changed the server so we use a pool of servers managed with a Queue of available servers. The XML/RPC client is also changed to handle connection failures gracefully. This is because XML/RPC cannot have more than 2 connections at a given time, so if there is an error, we wait for a random amount of time and try again. This allows us to handle fairly large loads nicely.
2011-11-24ENH/TMP: Preliminary support for bash scripts.Prabhu Ramachandran
- Changing the Question model to add a language attribute. - Moving python_server.py -> code_server.py. - Adding functionality to test for Shell scripts. This is still incomplete since the shell code checker seems to have some problems. - Modified the xmlrpc_clients to support multiple languages and right now two. - Using setgid/setuid instead of setegid/seteuid in the code_server.py.. - Adding a bash example to the sample_questions.py. The shell script support doesn't quite work yet but this is really a code_server/checking issue.
2011-11-20ENH: Python server can now run multiple serversPrabhu Ramachandran
- the SERVER_PORTS is now a list of ports and when you run python_server.py it will run as many servers as desired. - python_server.py now will create multiple servers via multiprocessing. - the xmlrpc_clients.py is changed to deal with these multiple servers. This allows us to handle many incoming requests. These changes allow us to run the online test for many users. We had over 400 simultaneous users and a total of about 650 users using the app with these modifications.
2011-11-19Changed load_questions to load_examPrabhu Ramachandran
Added option to define quizzes in the file we load from. Also fixed bug in import for the xmlrpc_clients.py and changed the verbose name for Quiz objects.
2011-11-19Configure server port and timeout in settings.pyPrabhu Ramachandran
Also updated documentation.
2011-11-12ENH: Running remote code safely via XMLRPC.Prabhu Ramachandran
Adding a python_server which executes code as nobody safely so users cannot do too much damage.