Submitty logo

Submitty grades in parallel, under a scheduler daemon running submitty_grading_scheduler.py which checks for jobs in the /var/local/submitty/to_be_graded_interactive and /var/local/submitty/to_be_graded_batch queues.


In the default system configuration, this script uses 5 parallel worker processes. To adjust this number:

  1. As root, edit the /usr/local/submitty/.set/INSTALL_SUBMITTY.sh settings and change this line:

    NUM_GRADING_SCHEDULER_WORKERS=5
    
  2. Then re-install Submitty:

    sudo /usr/local/submitty/.setup/INSTALL_SUBMITTY.sh
    

Note: If you re-run CONFIGURE_SUBMITTY.sh it will undo these changes.


To debug new features for autograding, it can be helpful to run submitty_grading_scheduler.py interactively and inspect the output.

To do this:

  1. Stop the daemon

    sudo systemctl stop submitty_grading_scheduler
    
  2. Now, as the hwcron user, run the scheduler and watch the output.

    sudo su -c '/usr/local/submitty/bin/submitty_grading_scheduler.py' hwcron
    

    Use control-C to stop when you’ve finished your debugging.

  3. Re-Start the daemon

    sudo systemctl start submitty_grading_scheduler
    

    or

    sudo systemctl restart submitty_grading_scheduler
    

    You can check the status of the daemon:

    systemctl status submitty_grading_scheduler
    

Note: When you re-run sudo /usr/local/submitty/.setup/INSTALL_SUBMITTY.sh, it will stop and restart the autograding scheduler if it is running. (But it will not start the scheduler, if it is not currently running.)