Skip to content

Worker status/monitoring for competition organizers (from rabbit)#2395

Open
IdirLISN wants to merge 46 commits into
developfrom
feature/worker_monitoring
Open

Worker status/monitoring for competition organizers (from rabbit)#2395
IdirLISN wants to merge 46 commits into
developfrom
feature/worker_monitoring

Conversation

@IdirLISN

@IdirLISN IdirLISN commented May 28, 2026

Copy link
Copy Markdown
Collaborator

/!\ New PR with modified feature. /!\

The feature is now aware of workers health directly from django to rabbit instead of going through the site worker which slows the app massively. Using rabbit enable the feature to be much more responsive and display the worker state faster. the implementation is easier also.

check the feature at: https://dev.codabench.org/
------------------------------- OLD PR (edited) --------------------------------------

@ mention of reviewers

@ObadaS
@Didayolo
@ihsaan-ullah

Description

This feature enables admin users, competition organisers and his/her collaborators to monitor compute worker activity.
Public compute workers displayed by default and if the competition own a private queue, it displays the private compute workers linked to the queue of the competition.

UI inside of the header of the competition page.

Feature contains:
Feature available only for competition organizers and collaborators.
When disabled or hided behind the button, the websocket connection is disabled for performance.

image image

Issues this PR resolves

Enables organizers to monitor compute workers activity to push them to use their own workers in case of high activity on codabench public compute workers.

A checklist for hand testing

  • Try the panel as a organizer, you should be able to see it by pressing the button.
  • Submit and watch if the panel shows the activity of the compute worker
  • Verify websocket state when the panel is not displayed, the connection should be deactivated.
    (docker compose logs -f django should display websocket open and close with the panel)

Checklist

  • Code review by me
  • Hand tested by me
  • I'm proud of my work
  • Code review by reviewer
  • Hand tested by reviewer
  • CircleCi tests are passing
  • Ready to merge

@IdirLISN IdirLISN requested review from Didayolo and ObadaS May 28, 2026 13:46
@IdirLISN IdirLISN self-assigned this May 28, 2026
@IdirLISN IdirLISN requested a review from ihsaan-ullah May 28, 2026 13:46
@IdirLISN IdirLISN changed the title Feature/worker monitoring Worker status for competition organisers (from rabbit) May 28, 2026
@Didayolo Didayolo changed the title Worker status for competition organisers (from rabbit) Worker status for competition organizers (from rabbit) May 28, 2026
@Didayolo

Copy link
Copy Markdown
Member

Very nice. We need to find a way to stress test this feature on a preprod environment.

@IdirLISN IdirLISN force-pushed the feature/worker_monitoring branch from aa78dae to 9f0e970 Compare June 4, 2026 08:47
@Didayolo

Didayolo commented Jun 4, 2026

Copy link
Copy Markdown
Member

@Didayolo Didayolo changed the title Worker status for competition organizers (from rabbit) Worker status/monitoring for competition organizers (from rabbit) Jun 15, 2026
@IdirLISN IdirLISN force-pushed the feature/worker_monitoring branch from 0cb63d8 to bfcb136 Compare June 16, 2026 09:18
IdirLISN and others added 28 commits June 16, 2026 14:50
* backend & frontend OK / TODO: site worker and leaderboad

* site worker sending submissions to group queue OK

* leaderboad group feature

* logs removed

* fix json leaderboard

* Clean up leaderboard ordering logic

* competition queue on groups with out queue

* some bugfix

* UI bugfix

* UI bugfix

* leaderboard groups format parentsubID_groupname

* fix conflicts issues

* resolve conflict

* clean site worker

* branch update and linter fix

* linter fix

* linter fix

* linter fix

* bugfix group form

* adding migrations files

* fix logic to fix tests problem

* fix logic to fix tests problem

* E2E test fixed

* E2E test fixed

* E2E test fixed

* E2E test fixed

* Fix queue name in server status

* fix queues visibility

* fix queue visibility for groups

* Flake8

---------

Co-authored-by: didayolo <adrien.pavao@gmail.com>
@IdirLISN IdirLISN force-pushed the feature/worker_monitoring branch from ccef98f to 7100d79 Compare June 16, 2026 12:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants