Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Selectively switch to Alpha workers execution from legacy judge #155

Merged
merged 28 commits into from
Jan 24, 2024

Conversation

MTsatsarov
Copy link
Contributor

@MTsatsarov MTsatsarov commented Oct 24, 2023

Linked pull requests from another repos (if any):
#156
SoftUni-Internal/OpenJudgeSystem#906
SoftUni-Internal/OpenJudgeSystem#905

Summary

  1. The key and password for health check are now passed from the settings.
  2. Added worker type enumeration.
  3. Added the logic to set the worker endpoint.

@gogo4ds gogo4ds self-requested a review October 26, 2023 13:36
gogo4ds
gogo4ds previously approved these changes Oct 30, 2023
OJS.Workers.Common/Models/WorkerType.cs Outdated Show resolved Hide resolved
MTsatsarov added a commit to SoftUni-Internal/OpenJudgeSystem that referenced this pull request Nov 10, 2023
Closes
SoftUni-Internal/exam-systems-issues#1033

Linked pull requests from another repos (if any):
SoftUni-Internal/judge-worker#155
#906
SoftUni-Internal/judge-worker#156

**Summary of the changes made**:
1. Added health checks for alpha projects.
2. Change the Worker debug configuration, key and password for checks
added.
3. Required mappings and resolvers added to allow legacy Judge to send
submissions to alpha workers.
4. Now instead of the className the alpha sends the name of the checker
to workers. This is done because legacy sends the name and the
validation in the alpha workers is before mapping to TestInputModel
which is the exact model that is used.
gogo4ds
gogo4ds previously approved these changes Nov 13, 2023
gogo4ds
gogo4ds previously approved these changes Nov 21, 2023
OJS.Workers/LocalWorkerServiceBase.cs Outdated Show resolved Hide resolved
gogo4ds
gogo4ds previously approved these changes Nov 23, 2023
@gogo4ds gogo4ds added the legacy label Nov 30, 2023
MTsatsarov and others added 8 commits December 14, 2023 19:01
* Throw exception when worker cannot handle submission

* Return worker state when checking if submission can be processed

* Remove nullable check

* remove nullable submission

* Fix nullable worker

* Fixed logic for checking worker state

---------

Co-authored-by: Georgi Georgiev <[email protected]>
@gogo4ds gogo4ds changed the title Add filtration for submission for processing. Selectively switch to Alpha workers execution from legacy judge Dec 20, 2023
@MTsatsarov MTsatsarov merged commit 966679e into master Jan 24, 2024
1 check passed
@MTsatsarov MTsatsarov deleted the add-alpha-workers-to-legacy branch January 24, 2024 09:45
gogo4ds added a commit to SoftUni-Internal/OpenJudgeSystem that referenced this pull request Jan 24, 2024
Closes
SoftUni-Internal/exam-systems-issues#1031
Closes
SoftUni-Internal/exam-systems-issues#1033
Closes
SoftUni-Internal/exam-systems-issues#1087

Linked pull requests from another repos (if any):
SoftUni-Internal/judge-worker#155
#905
SoftUni-Internal/judge-worker#156

**Summary of the changes made**:
1. Added enumeration to determine the type of the workers.
2. Added columns to Contests, SubmissionForProcessing, Submissions
tables to determine the required worker. For the submission column which
will keep the exact worker endpoint was added.
3. Separate Concurrent Queues added for different type of workers.
4. The worker type is displayed in the details of the submission.
5. The worker endpoint is displayed in the details of the submission.
6. Added option to update submission's worker type for single
submission.
7. Add temp method to update worker type for old contests.
8. Add Worker type on strategy for problem level.

---------

Co-authored-by: Georgi Georgiev <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants