You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe. GraderExecutor is a simple task queue based on an asyncio.Queue, which is very basic. By switching to Celery we get all kinds of advantages and features like monitoring, timeouts, etc.
Describe the solution you'd like
Right now a task is a Callable that is submitted to the GraderExecutor, where the Callable is the start method from the auto-grading executors like LocalAutogradeExecutor. This would of course not work for a Celery task since the function would have to be serialized etc.
Instead, the task should to be created by the same inputs as the respective handlers: lecture_id, assignment_id, and sub_id. The task then needs access to an SQLAlchemy session since we need the submission for the grading. From there, instead of putting the start method in the queue, it can be directly executed.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
GraderExecutor
is a simple task queue based on anasyncio.Queue
, which is very basic. By switching to Celery we get all kinds of advantages and features like monitoring, timeouts, etc.Describe the solution you'd like
Right now a task is a Callable that is submitted to the
GraderExecutor
, where the Callable is thestart
method from the auto-grading executors likeLocalAutogradeExecutor
. This would of course not work for a Celery task since the function would have to be serialized etc.Instead, the task should to be created by the same inputs as the respective handlers:
lecture_id
,assignment_id
, andsub_id
. The task then needs access to an SQLAlchemy session since we need the submission for the grading. From there, instead of putting thestart
method in the queue, it can be directly executed.The text was updated successfully, but these errors were encountered: