mirror of
https://github.com/DMOJ/online-judge.git
synced 2024-11-25 16:32:37 +08:00
events: properly publish abort events
I think this should avoid cases of the "Abort" button sticking around.
This commit is contained in:
parent
c126f07fe7
commit
356b146f37
@ -476,8 +476,8 @@ class JudgeHandler(ZlibPacketHandler):
|
||||
self._free_self(packet)
|
||||
|
||||
if Submission.objects.filter(id=packet['submission-id']).update(status='AB', result='AB', points=0):
|
||||
event.post('sub_%s' % Submission.get_id_secret(packet['submission-id']), {'type': 'aborted-submission'})
|
||||
self._post_update_submission(packet['submission-id'], 'terminated', done=True)
|
||||
event.post('sub_%s' % Submission.get_id_secret(packet['submission-id']), {'type': 'aborted'})
|
||||
self._post_update_submission(packet['submission-id'], 'aborted', done=True)
|
||||
json_log.info(self._make_json_log(packet, action='aborted', finish=True, result='AB'))
|
||||
else:
|
||||
logger.warning('Unknown submission: %s', packet['submission-id'])
|
||||
|
@ -119,5 +119,5 @@ def abort_submission(submission):
|
||||
# and returns a bad-request, the submission is not falsely shown as "Aborted" when it will still be judged.
|
||||
if not response.get('judge-aborted', True):
|
||||
Submission.objects.filter(id=submission.id).update(status='AB', result='AB', points=0)
|
||||
event.post('sub_%s' % Submission.get_id_secret(submission.id), {'type': 'aborted-submission'})
|
||||
event.post('sub_%s' % Submission.get_id_secret(submission.id), {'type': 'aborted'})
|
||||
_post_update_submission(submission, done=True)
|
||||
|
@ -38,6 +38,7 @@
|
||||
"{{ EVENT_DAEMON_LOCATION }}", "{{ EVENT_DAEMON_POLL_LOCATION }}",
|
||||
['sub_{{ submission.id_secret }}'], {{ last_msg }}, function (message) {
|
||||
switch (message.type) {
|
||||
case 'aborted':
|
||||
case 'internal-error':
|
||||
case 'grading-end':
|
||||
case 'compile-error':
|
||||
|
Loading…
Reference in New Issue
Block a user