default grading time out is 300 instead 1200
Closed this issue · 5 comments
The document says --grading-timeout
defaults to 1200
.
But from experience, I felt the default is 300
, and following code seems to confirm what I experienced:
common_flags = argparse.ArgumentParser(add_help=False)
common_flags.add_argument(
'--timeout',
type=int,
default=300,
help='The time out the grader after TIMEOUT seconds')
grade_subparsers = parser_grade.add_subparsers()
Hey @liufengyun we're in the midst of a bit of a flux at the moment. It's true that the default in our production environment is 1200 seconds (20 minutes). In courseraprogramming
, the default is 300 seconds (5 minutes) to help encourage fast graders. (Better for learners to have fast turnaround times.) We will eventually move our production environment to a shorter default, but are moving slowly on this front in order to not break existing graders.
Thanks for your quick reply @saeta , it makes sense to me. Will courserprogramming
default override the production env default? If that's the case, I think it's better to document the courseraprogramming
default instead of the production env default.
Up until recently, the grader timeout was not configurable, and was set to be 600 seconds by default. We had a couple courses that needed 20 minutes, so we adjusted the global timeout to that as a temporary stop-gap measure until we completed the work to make timeouts configurable on a grader-by-grader basis. This work has now been completed.
Due to the historical evolution of our systems, right now, they're 2 separate timeout defaults set by independent systems (the upload
/production grader timeout is currently set server-side (in order to maintain backwards API compatibility), while the grade local
timeout is set exactly in the code you flagged).
In a future release, we'll probably have the production timeout (and default) set by the client, and adjust it to match the 300 second default we have for grading local.
To ensure that you are not bit by any unexpected changes in defaults going forward, I recommend specifying the timeouts explicitly in automated build scripts. Hope this helps!
Thanks for your explanation. I mistook the grade.py
for upload.py
. The tool becomes better and better, good job 👍
Thanks! :-) Again, if you have any questions or suggestions, please don't hesitate to open up a ticket or let us know.