-
Notifications
You must be signed in to change notification settings - Fork 50
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
ADD ability to manually trigger regrade for specific student #394
Comments
bro, do you want the admin users could manually trigger all the functions in lms/autograde.py ? |
There is a bit more to this than just calling the function. The autograde functions generally take quite a while to run. We'll need the endpoints to enqueue the bulk_autograde function to run in an rpc queue. |
sorry bro it's beyond my abilities. I haven't worked with RPC. but I know about celery and async if you can handle your work with these two techs I can be a little helpful |
We dont use celery, we use python-rq. It is just like celery, but significantly simpler. I did half of the backend bit for this issue here if you want to see how it was put together. It was basically just making an enqueue function (something we do to keep our rpc calls organized) for the bulk_autograde. |
@wabscale Is somebody working on this(asking because its in progress on the board) |
No, no one is working on this right now. Go ahead if you would like to take it |
Yes, ill take it up thanks! |
Clarifying @wabscale : You want an autograde button here: And you want me to call this "enqueue_bulk_autograde" function in the backend: Let me know if i'm missing anything here. |
Oh the title of this is slightly misleading. We actually already have a button for regrading an entire assignment. We need a button for regrading all the submissions for a given student. I guess it likely makes sense to put the actual button on the admin assignment page (the one with the assignment specific settings) that opens a dialog with an autocomplete that has all the students. TA then selects the student from the dropdown, and clicks regrade. That hits the endpoint that will call the enqueue_bulk_regrade_submissions function with all the submissions from that student. Let me know if this makes sense. You don't need to do the frontend if that is too much react/mui stuff. If you do half, I'll do the other half. |
Oh! Okay well I've definitely misconstrued that issue sorry(my poor button what a waste), yes i'll be on it. Hopefully will finish half of the frontend by today, would you like commit access to my fork or would you like me to pr unfinished frontend code? Or i could PR to a new branch as well. |
When you open the PR, I think you can check a box to allow maintainers (so me) to be able to push to the branch in your repo. |
@wabscale do you think it should go in the autograde results section instead? Or i can stick to assignments as agreed if you'd like. |
Well this action would completely invalidate everything on the student's results page. The new results will not be recalculated for at least a minute or two. So you would need to redirect after clicking somewhere else. Feel free to add that too if you want, but the main way of doing it should be the way I described. |
Add endpoints for admin users (TAs/Profs) to be able to manually trigger the functions found here:
https://github.com/AnubisLMS/Anubis/blob/main/api/anubis/lms/autograde.py
Then add a button to the frontend autograde pages for these endpoints to be hit.
The text was updated successfully, but these errors were encountered: