Age | Commit message (Collapse) | Author |
|
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.
|
|
- 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.
|
|
- 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.
|
|
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.
|
|
Also updated documentation.
|
|
Adding a python_server which executes code as nobody safely so users
cannot do too much damage.
|