Update bridge (DMOJ)
This commit is contained in:
parent
77e64f1b85
commit
3629369fba
34 changed files with 770 additions and 2199 deletions
|
@ -1,33 +1,8 @@
|
|||
import threading
|
||||
|
||||
from django.conf import settings
|
||||
from django.core.management.base import BaseCommand
|
||||
|
||||
from judge.bridge import DjangoHandler, DjangoServer
|
||||
from judge.bridge import DjangoJudgeHandler, JudgeServer
|
||||
from judge.bridge.daemon import judge_daemon
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
def handle(self, *args, **options):
|
||||
judge_handler = DjangoJudgeHandler
|
||||
|
||||
try:
|
||||
import netaddr # noqa: F401, imported to see if it exists
|
||||
except ImportError:
|
||||
pass
|
||||
else:
|
||||
proxies = settings.BRIDGED_JUDGE_PROXIES
|
||||
if proxies:
|
||||
judge_handler = judge_handler.with_proxy_set(proxies)
|
||||
|
||||
judge_server = JudgeServer(settings.BRIDGED_JUDGE_ADDRESS, judge_handler)
|
||||
django_server = DjangoServer(judge_server.judges, settings.BRIDGED_DJANGO_ADDRESS, DjangoHandler)
|
||||
|
||||
# TODO: Merge the two servers
|
||||
threading.Thread(target=django_server.serve_forever).start()
|
||||
try:
|
||||
judge_server.serve_forever()
|
||||
except KeyboardInterrupt:
|
||||
pass
|
||||
finally:
|
||||
django_server.stop()
|
||||
judge_daemon()
|
Loading…
Add table
Add a link
Reference in a new issue